diff --git a/cmd/backup/config.go b/cmd/backup/config.go index b3ae44c..c696f9c 100644 --- a/cmd/backup/config.go +++ b/cmd/backup/config.go @@ -70,6 +70,7 @@ type Config struct { AzureStorageContainerName string `split_words:"true"` AzureStoragePath string `split_words:"true"` AzureStorageEndpoint string `split_words:"true" default:"https://{{ .AccountName }}.blob.core.windows.net/"` + DropboxEndpoint string `split_words:"true" default:"https://api.dropbox.com/"` DropboxRefreshToken string `split_words:"true"` DropboxAppKey string `split_words:"true"` DropboxAppSecret string `split_words:"true"` diff --git a/cmd/backup/script.go b/cmd/backup/script.go index 8c26e5d..cff52a0 100644 --- a/cmd/backup/script.go +++ b/cmd/backup/script.go @@ -222,6 +222,7 @@ func newScript() (*script, error) { if s.c.DropboxRefreshToken != "" && s.c.DropboxAppKey != "" && s.c.DropboxAppSecret != "" { dropboxConfig := dropbox.Config{ + Endpoint: s.c.DropboxEndpoint, RefreshToken: s.c.DropboxRefreshToken, AppKey: s.c.DropboxAppKey, AppSecret: s.c.DropboxAppSecret, diff --git a/internal/storage/dropbox/dropbox.go b/internal/storage/dropbox/dropbox.go index 00c55b2..8a9c23c 100644 --- a/internal/storage/dropbox/dropbox.go +++ b/internal/storage/dropbox/dropbox.go @@ -4,6 +4,7 @@ import ( "bytes" "context" "fmt" + "net/url" "os" "path" "path/filepath" @@ -26,6 +27,7 @@ type dropboxStorage struct { // Config allows to configure a Dropbox storage backend. type Config struct { + Endpoint string RefreshToken string AppKey string AppSecret string @@ -35,24 +37,41 @@ type Config struct { // NewStorageBackend creates and initializes a new Dropbox storage backend. func NewStorageBackend(opts Config, logFunc storage.Log) (storage.Backend, error) { + tokenUrl, _ := url.JoinPath(opts.Endpoint, "oauth2/token") + conf := &oauth2.Config{ ClientID: opts.AppKey, ClientSecret: opts.AppSecret, Endpoint: oauth2.Endpoint{ - TokenURL: "https://api.dropbox.com/oauth2/token", + TokenURL: tokenUrl, }, } + isCITest := opts.Endpoint != "https://api.dropbox.com/" + logFunc(storage.LogLevelInfo, "Dropbox", "Fetching fresh access token for Dropbox storage backend.") - tkSource := conf.TokenSource(context.TODO(), &oauth2.Token{RefreshToken: opts.RefreshToken}) - token, err := tkSource.Token() - if err != nil { - return nil, fmt.Errorf("(*dropboxStorage).NewStorageBackend: Error refreshing token: %w", err) + token := &oauth2.Token{RefreshToken: opts.RefreshToken} + if !isCITest { + tkSource := conf.TokenSource(context.TODO(), &oauth2.Token{RefreshToken: opts.RefreshToken}) + var err error + token, err = tkSource.Token() + if err != nil { + return nil, fmt.Errorf("(*dropboxStorage).NewStorageBackend: Error refreshing token: %w", err) + } } - client := files.New(dropbox.Config{ - Token: token.AccessToken, - }) + dbxConfig := dropbox.Config{} + + if isCITest { + dbxConfig.Token = opts.RefreshToken + dbxConfig.URLGenerator = func(hostType string, namespace string, route string) string { + return fmt.Sprintf("%s/%d/%s/%s", opts.Endpoint, 2, namespace, route) + } + } else { + dbxConfig.Token = token.AccessToken + } + + client := files.New(dbxConfig) if opts.ConcurrencyLevel < 1 { logFunc(storage.LogLevelWarning, "Dropbox", "Concurrency level must be at least 1! Using 1 instead of %d.", opts.ConcurrencyLevel) diff --git a/test/dropbox/openapi-mock.yaml b/test/dropbox/openapi-mock.yaml new file mode 100644 index 0000000..34366f9 --- /dev/null +++ b/test/dropbox/openapi-mock.yaml @@ -0,0 +1,25 @@ +# OpenAPI specification options +openapi: + specification_url: '/etc/openapi/user_v2.yaml' + +# web server options +http: + cors_enabled: false + port: 8080 + response_timeout: 1.0 + +# application specific options +application: + debug: false + log_format: tty + log_level: info + +# options to control generation process +generation: + default_min_float: -1.073741823e+09 + default_max_float: 1.073741823e+09 + default_min_int: 0 + default_max_int: 2147483647 + null_probability: 0 + suppress_errors: false + use_examples: 'if_present' \ No newline at end of file diff --git a/test/dropbox/run.sh b/test/dropbox/run.sh new file mode 100644 index 0000000..f62d621 --- /dev/null +++ b/test/dropbox/run.sh @@ -0,0 +1,50 @@ +#!/bin/sh + +set -e + +cd "$(dirname "$0")" +. ../util.sh +current_test=$(basename $(pwd)) + +docker compose up -d +sleep 5 + +docker compose exec backup backup + +sleep 5 + +expect_running_containers "3" + +dvb_logs=$(docker logs backup-1 2>&1) +if $dvb_logs | grep "ERROR" +then + fail "Backup failed, errors reported: $dvb_logs" +else + pass "Backup succeeded, no errors reported." +fi + +dbx_logs=$(docker logs openapi_mock-1 2>&1) +if $dbx_logs | grep "ERROR" +then + fail "Backup failed, errors reported: $dvb_logs" +else + pass "Backup succeeded, no errors reported." +fi + +# The second part of this test checks if backups get deleted when the retention +# is set to 0 days (which it should not as it would mean all backups get deleted) +# TODO: find out if we can test actual deletion without having to wait for a day +BACKUP_RETENTION_DAYS="0" docker compose up -d +sleep 5 + +docker compose exec backup backup + +dvb_logs=$(docker logs backup-1 2>&1) +if $dvb_logs | grep "Refusing to do so, please check your configuratio" +then + pass "Remote backups have not been deleted." +else + fail "Remote backups would have been deleted: $dvb_logs" +fi + +docker compose down --volumes diff --git a/test/dropbox/user_v2.yaml b/test/dropbox/user_v2.yaml new file mode 100644 index 0000000..a17db7e --- /dev/null +++ b/test/dropbox/user_v2.yaml @@ -0,0 +1,12753 @@ +openapi: 3.0.1 +info: + title: Dropbox User API v2 + description: >- + The Dropbox API allows developers to work with files in Dropbox, including + advanced functionality like full-text search, thumbnails, and sharing. + version: 1.0.0 +servers: + - url: //api.dropbox.com/2 +paths: + /files/properties/update: + post: + summary: Files - Properties - Update + operationId: FilesPropertiesUpdate + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdatePropertiesArg' + required: false + responses: + '200': + description: Success + content: {} + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/UpdatePropertiesError' + x-codegen-request-body-name: body + /files/move: + post: + summary: Files - Move + description: |- + Move a file or folder to a different location in the user's Dropbox. + If the source path is a folder all its contents will be moved. + operationId: FilesMove + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RelocationArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/Metadata' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/RelocationError' + x-codegen-request-body-name: body + /sharing/relinquish_file_membership: + post: + summary: Sharing - Relinquish File Membership + description: >- + The current user relinquishes their membership in the designated file. + Note that the current user may still have inherited access to this file + through the parent folder. + + Apps must have full Dropbox access to use this endpoint. + operationId: SharingRelinquishFileMembership + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RelinquishFileMembershipArg' + required: false + responses: + '200': + description: Success + content: {} + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/RelinquishFileMembershipError' + x-codegen-request-body-name: body + /sharing/list_folder_members: + post: + summary: Sharing - List Folder Members + description: |- + Returns shared folder membership by its folder ID. + Apps must have full Dropbox access to use this endpoint. + operationId: SharingListFolderMembers + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ListFolderMembersArgs' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/SharedFolderMembers' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/SharedFolderAccessError' + x-codegen-request-body-name: body + /sharing/get_folder_metadata: + post: + summary: Sharing - Get Folder Metadata + description: |- + Returns shared folder metadata by its folder ID. + Apps must have full Dropbox access to use this endpoint. + operationId: SharingGetFolderMetadata + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GetMetadataArgs' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/SharedFolderMetadata' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/SharedFolderAccessError' + x-codegen-request-body-name: body + /users/get_current_account: + post: + summary: Users - Get Current Account + description: Get information about the current user's account. + operationId: UsersGetCurrentAccount + requestBody: + content: + application/json: {} + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/FullAccount' + default: + description: Error + content: {} + x-codegen-request-body-name: body + /paper/docs/users/list: + post: + summary: Paper - Docs - Users - List + description: >- + Lists all users who visited the Paper doc or users with explicit access. + This call excludes users who have been removed. The list is sorted by + the date of the visit or the share date. + + The list will include both users, the explicitly shared ones as well as + those who came in using the Paper url link. + operationId: PaperDocsUsersList + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ListUsersOnPaperDocArgs' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/ListUsersOnPaperDocResponse' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/DocLookupError' + x-codegen-request-body-name: body + /sharing/unshare_file: + post: + summary: Sharing - Unshare File + description: Remove all members from this file. Does not remove inherited members. + operationId: SharingUnshareFile + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UnshareFileArg' + required: false + responses: + '200': + description: Success + content: {} + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/UnshareFileError' + x-codegen-request-body-name: body + /sharing/revoke_shared_link: + post: + summary: Sharing - Revoke Shared Link + description: >- + Revoke a shared link. + + Note that even after revoking a shared link to a file, the file may be + accessible if there are shared links leading to any of the file parent + folders. To list all shared links that enable access to a specific file, + you can use the :route:`list_shared_links` with the file as the + :field:`ListSharedLinksArg.path` argument. + operationId: SharingRevokeSharedLink + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RevokeSharedLinkArg' + required: false + responses: + '200': + description: Success + content: {} + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/RevokeSharedLinkError' + x-codegen-request-body-name: body + /sharing/check_remove_member_job_status: + post: + summary: Sharing - Check Remove Member Job Status + description: |- + Returns the status of an asynchronous job for sharing a folder. + Apps must have full Dropbox access to use this endpoint. + operationId: SharingCheckRemoveMemberJobStatus + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PollArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/RemoveMemberJobStatus' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/PollError' + x-codegen-request-body-name: body + /sharing/update_file_member: + post: + summary: Sharing - Update File Member + description: Changes a member's access on a shared file. + operationId: SharingUpdateFileMember + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateFileMemberArgs' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/MemberAccessLevelResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/FileMemberActionError' + x-codegen-request-body-name: body + /files/upload_session/finish_batch/check: + post: + summary: Files - Upload Session - Finish Batch - Check + description: >- + Returns the status of an asynchronous job for + :route:`upload_session/finish_batch`. If success, it returns list of + result for each entry. + operationId: FilesUploadSessionFinishBatchCheck + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PollArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/UploadSessionFinishBatchJobStatus' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/PollError' + x-codegen-request-body-name: body + /files/delete_batch: + post: + summary: Files - Delete Batch + description: >- + Delete multiple files/folders at once. + + This route is asynchronous, which returns a job ID immediately and runs + the delete batch asynchronously. Use :route:`delete_batch/check` to + check the job status. + operationId: FilesDeleteBatch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteBatchArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteBatchLaunch' + default: + description: Error + content: {} + x-codegen-request-body-name: body + /files/create_folder_batch/check: + post: + summary: Files - Create Folder Batch - Check + description: >- + Returns the status of an asynchronous job for + :route:`create_folder_batch`. If success, it returns list of result for + each entry. + operationId: FilesCreateFolderBatchCheck + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PollArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CreateFolderBatchJobStatus' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/PollError' + x-codegen-request-body-name: body + /sharing/mount_folder: + post: + summary: Sharing - Mount Folder + description: >- + The current user mounts the designated folder. + + Mount a shared folder for a user after they have been added as a member. + Once mounted, the shared folder will appear in their Dropbox. + + Apps must have full Dropbox access to use this endpoint. + operationId: SharingMountFolder + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/MountFolderArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/SharedFolderMetadata' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/MountFolderError' + x-codegen-request-body-name: body + /files/restore: + post: + summary: Files - Restore + description: Restore a file to a specific revision. + operationId: FilesRestore + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RestoreArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/FileMetadata' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/RestoreError' + x-codegen-request-body-name: body + /file_requests/update: + post: + summary: File Requests - Update + description: Update a file request. + operationId: FileRequestsUpdate + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateFileRequestArgs' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/FileRequest' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateFileRequestError' + x-codegen-request-body-name: body + /file_properties/templates/remove_for_team: + post: + summary: File Properties - Templates - Remove For Team + description: >- + Permanently removes the specified template created from + :route:`templates/add_for_user`. All properties associated with the + template will also be removed. This action cannot be undone. + operationId: FilePropertiesTemplatesRemoveForTeam + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RemoveTemplateArg' + required: false + responses: + '200': + description: Success + content: {} + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/TemplateError' + x-codegen-request-body-name: body + /files/properties/template/get: + post: + summary: Files - Properties - Template - Get + operationId: FilesPropertiesTemplateGet + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GetTemplateArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/GetTemplateResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/TemplateError' + x-codegen-request-body-name: body + /paper/docs/get_folder_info: + post: + summary: Paper - Docs - Get Folder Info + description: >- + Retrieves folder information for the given Paper doc. This includes: + - folder sharing policy; permissions for subfolders are set by the top-level folder. + - full 'filepath', i.e. the list of folders (both folderId and folderName) from the root folder to the folder directly containing the Paper doc. + + Note: If the Paper doc is not in any folder (aka unfiled) the response + will be empty. + operationId: PaperDocsGetFolderInfo + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RefPaperDoc' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/FoldersContainingPaperDoc' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/DocLookupError' + x-codegen-request-body-name: body + /files/copy_batch: + post: + summary: Files - Copy Batch + description: >- + Copy multiple files or folders to different locations at once in the + user's Dropbox. + + If :field:`RelocationBatchArg.allow_shared_folder` is false, this route + is atomic. If on entry failes, the whole transaction will abort. If + :field:`RelocationBatchArg.allow_shared_folder` is true, not atomicity + is guaranteed, but you will be able to copy the contents of shared + folders to new locations. + + This route will return job ID immediately and do the async copy job in + background. Please use :route:`copy_batch/check` to check the job + status. + operationId: FilesCopyBatch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RelocationBatchArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/RelocationBatchLaunch' + default: + description: Error + content: {} + x-codegen-request-body-name: body + /file_properties/properties/search: + post: + summary: File Properties - Properties - Search + description: Search across property templates for particular property field values. + operationId: FilePropertiesPropertiesSearch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PropertiesSearchArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/PropertiesSearchResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/PropertiesSearchError' + x-codegen-request-body-name: body + /files/delete: + post: + summary: Files - Delete + description: >- + Delete the file or folder at a given path. + + If the path is a folder, all its contents will be deleted too. + + A successful response indicates that the file or folder was deleted. The + returned metadata will be the corresponding :type:`FileMetadata` or + :type:`FolderMetadata` for the item at time of deletion, and not a + :type:`DeletedMetadata` object. + operationId: FilesDelete + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/Metadata' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteError' + x-codegen-request-body-name: body + /files/properties/add: + post: + summary: Files - Properties - Add + operationId: FilesPropertiesAdd + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AddPropertiesArg' + required: false + responses: + '200': + description: Success + content: {} + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/AddPropertiesError' + x-codegen-request-body-name: body + /sharing/check_share_job_status: + post: + summary: Sharing - Check Share Job Status + description: |- + Returns the status of an asynchronous job for sharing a folder. + Apps must have full Dropbox access to use this endpoint. + operationId: SharingCheckShareJobStatus + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PollArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/ShareFolderJobStatus' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/PollError' + x-codegen-request-body-name: body + /files/get_thumbnail_batch: + post: + summary: Files - Get Thumbnail Batch + description: >- + Get thumbnails for a list of images. We allow up to 25 thumbnails in a + single batch. + + This method currently supports files with the following file extensions: + jpg, jpeg, png, tiff, tif, gif and bmp. Photos that are larger than 20MB + in size won't be converted to a thumbnail. + operationId: FilesGetThumbnailBatch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GetThumbnailBatchArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/GetThumbnailBatchResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/GetThumbnailBatchError' + x-codegen-request-body-name: body + /sharing/remove_folder_member: + post: + summary: Sharing - Remove Folder Member + description: >- + Allows an owner or editor (if the ACL update policy allows) of a shared + folder to remove another member. + + Apps must have full Dropbox access to use this endpoint. + operationId: SharingRemoveFolderMember + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RemoveFolderMemberArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/LaunchResultBase' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/RemoveFolderMemberError' + x-codegen-request-body-name: body + /sharing/update_folder_member: + post: + summary: Sharing - Update Folder Member + description: >- + Allows an owner or editor of a shared folder to update another member's + permissions. + + Apps must have full Dropbox access to use this endpoint. + operationId: SharingUpdateFolderMember + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateFolderMemberArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/MemberAccessLevelResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateFolderMemberError' + x-codegen-request-body-name: body + /sharing/create_shared_link_with_settings: + post: + summary: Sharing - Create Shared Link With Settings + description: >- + Create a shared link with custom settings. If no settings are given then + the default visibility is :field:`RequestedVisibility.public` (The + resolved visibility, though, may depend on other aspects such as team + and shared folder settings). + operationId: SharingCreateSharedLinkWithSettings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateSharedLinkWithSettingsArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/SharedLinkMetadata' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/CreateSharedLinkWithSettingsError' + x-codegen-request-body-name: body + /file_properties/properties/update: + post: + summary: File Properties - Properties - Update + description: >- + Add, update or remove properties associated with the supplied file and + templates. This endpoint should be used instead of + :route:`properties/overwrite` when property groups are being updated via + a "delta" instead of via a "snapshot" . In other words, this endpoint + will not delete any omitted fields from a property group, whereas + :route:`properties/overwrite` will delete any fields that are omitted + from a property group. + operationId: FilePropertiesPropertiesUpdate + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdatePropertiesArg' + required: false + responses: + '200': + description: Success + content: {} + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/UpdatePropertiesError' + x-codegen-request-body-name: body + /sharing/unmount_folder: + post: + summary: Sharing - Unmount Folder + description: >- + The current user unmounts the designated folder. They can re-mount the + folder at a later time using :route:`mount_folder`. + + Apps must have full Dropbox access to use this endpoint. + operationId: SharingUnmountFolder + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UnmountFolderArg' + required: false + responses: + '200': + description: Success + content: {} + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/UnmountFolderError' + x-codegen-request-body-name: body + /sharing/list_received_files: + post: + summary: Sharing - List Received Files + description: |- + Returns a list of all files shared with current user. + Does not include files the user has received via shared folders, and does not include unclaimed invitations. + operationId: SharingListReceivedFiles + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ListFilesArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/ListFilesResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/SharingUserError' + x-codegen-request-body-name: body + /paper/docs/sharing_policy/set: + post: + summary: Paper - Docs - Sharing Policy - Set + description: >- + Sets the default sharing policy for the given Paper doc. The default + 'team_sharing_policy' can be changed only by teams, omit this field for + personal accounts. + + + Note: 'public_sharing_policy' cannot be set to the value 'disabled' + because this setting can be changed only via the team admin console. + operationId: PaperDocsSharingPolicySet + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PaperDocSharingPolicy' + required: false + responses: + '200': + description: Success + content: {} + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/DocLookupError' + x-codegen-request-body-name: body + /files/properties/remove: + post: + summary: Files - Properties - Remove + operationId: FilesPropertiesRemove + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RemovePropertiesArg' + required: false + responses: + '200': + description: Success + content: {} + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/RemovePropertiesError' + x-codegen-request-body-name: body + /files/copy_batch/check: + post: + summary: Files - Copy Batch - Check + description: >- + Returns the status of an asynchronous job for :route:`copy_batch`. If + success, it returns list of results for each entry. + operationId: FilesCopyBatchCheck + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PollArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/RelocationBatchJobStatus' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/PollError' + x-codegen-request-body-name: body + /files/move_batch/check: + post: + summary: Files - Move Batch - Check + description: >- + Returns the status of an asynchronous job for :route:`move_batch`. If + success, it returns list of results for each entry. + operationId: FilesMoveBatchCheck + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PollArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/RelocationBatchJobStatus' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/PollError' + x-codegen-request-body-name: body + /files/list_folder/get_latest_cursor: + post: + summary: Files - List Folder - Get Latest Cursor + description: >- + A way to quickly get a cursor for the folder's state. Unlike + :route:`list_folder`, :route:`list_folder/get_latest_cursor` doesn't + return any entries. This endpoint is for app which only needs to know + about new files and modifications and doesn't need to know about files + that already exist in Dropbox. + operationId: FilesListFolderGetLatestCursor + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ListFolderArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/ListFolderGetLatestCursorResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/ListFolderError' + x-codegen-request-body-name: body + /paper/docs/sharing_policy/get: + post: + summary: Paper - Docs - Sharing Policy - Get + description: Gets the default sharing policy for the given Paper doc. + operationId: PaperDocsSharingPolicyGet + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RefPaperDoc' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/SharingPolicy' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/DocLookupError' + x-codegen-request-body-name: body + /sharing/share_folder: + post: + summary: Sharing - Share Folder + description: >- + Share a folder with collaborators. + + Most sharing will be completed synchronously. Large folders will be + completed asynchronously. To make testing the async case repeatable, set + `ShareFolderArg.force_async`. + + If a :field:`ShareFolderLaunch.async_job_id` is returned, you'll need to + call :route:`check_share_job_status` until the action completes to get + the metadata for the folder. + + Apps must have full Dropbox access to use this endpoint. + operationId: SharingShareFolder + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ShareFolderArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/ShareFolderLaunch' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/ShareFolderError' + x-codegen-request-body-name: body + /files/save_url/check_job_status: + post: + summary: Files - Save Url - Check Job Status + description: Check the status of a :route:`save_url` job. + operationId: FilesSaveUrlCheckJobStatus + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PollArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/SaveUrlJobStatus' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/PollError' + x-codegen-request-body-name: body + /paper/docs/users/add: + post: + summary: Paper - Docs - Users - Add + description: >- + Allows an owner or editor to add users to a Paper doc or change their + permissions using their email address or Dropbox account ID. + + + Note: The Doc owner's permissions cannot be changed. + operationId: PaperDocsUsersAdd + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AddPaperDocUser' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/AddPaperDocUserMemberResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/DocLookupError' + x-codegen-request-body-name: body + /files/copy_reference/save: + post: + summary: Files - Copy Reference - Save + description: >- + Save a copy reference returned by :route:`copy_reference/get` to the + user's Dropbox. + operationId: FilesCopyReferenceSave + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SaveCopyReferenceArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/SaveCopyReferenceResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/SaveCopyReferenceError' + x-codegen-request-body-name: body + /sharing/add_file_member: + post: + summary: Sharing - Add File Member + description: Adds specified members to a file. + operationId: SharingAddFileMember + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AddFileMemberArgs' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/FileMemberActionResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/AddFileMemberError' + x-codegen-request-body-name: body + /sharing/list_folders/continue: + post: + summary: Sharing - List Folders - Continue + description: >- + Once a cursor has been retrieved from :route:`list_folders`, use this to + paginate through all shared folders. The cursor must come from a + previous call to :route:`list_folders` or + :route:`list_folders/continue`. + + Apps must have full Dropbox access to use this endpoint. + operationId: SharingListFoldersContinue + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ListFoldersContinueArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/ListFoldersResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/ListFoldersContinueError' + x-codegen-request-body-name: body + /files/alpha/upload: + post: + summary: Files - Alpha - Upload + description: >- + Create a new file with the contents provided in the request. Note that + this endpoint is part of the properties API alpha and is slightly + different from :route:`upload`. + + Do not use this to upload a file larger than 150 MB. Instead, create an + upload session with :route:`upload_session/start`. + operationId: FilesAlphaUpload + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CommitInfoWithProperties' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/FileMetadata' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/UploadErrorWithProperties' + x-codegen-request-body-name: body + /files/list_folder/longpoll: + post: + summary: Files - List Folder - Longpoll + description: >- + A longpoll endpoint to wait for changes on an account. In conjunction + with :route:`list_folder/continue`, this call gives you a low-latency + way to monitor an account for file changes. The connection will block + until there are changes available or a timeout occurs. This endpoint is + useful mostly for client-side apps. If you're looking for server-side + notifications, check out our :link:`webhooks documentation + https://www.dropbox.com/developers/reference/webhooks`. + operationId: FilesListFolderLongpoll + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ListFolderLongpollArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/ListFolderLongpollResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/ListFolderLongpollError' + x-codegen-request-body-name: body + /file_properties/templates/remove_for_user: + post: + summary: File Properties - Templates - Remove For User + description: >- + Permanently removes the specified template created from + :route:`templates/add_for_user`. All properties associated with the + template will also be removed. This action cannot be undone. + operationId: FilePropertiesTemplatesRemoveForUser + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RemoveTemplateArg' + required: false + responses: + '200': + description: Success + content: {} + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/TemplateError' + x-codegen-request-body-name: body + /files/get_temporary_link: + post: + summary: Files - Get Temporary Link + description: >- + Get a temporary link to stream content of a file. This link will expire + in four hours and afterwards you will get 410 Gone. Content-Type of the + link is determined automatically by the file's mime type. + operationId: FilesGetTemporaryLink + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GetTemporaryLinkArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/GetTemporaryLinkResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/GetTemporaryLinkError' + x-codegen-request-body-name: body + /sharing/list_folder_members/continue: + post: + summary: Sharing - List Folder Members - Continue + description: >- + Once a cursor has been retrieved from :route:`list_folder_members`, use + this to paginate through all shared folder members. + + Apps must have full Dropbox access to use this endpoint. + operationId: SharingListFolderMembersContinue + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ListFolderMembersContinueArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/SharedFolderMembers' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/ListFolderMembersContinueError' + x-codegen-request-body-name: body + /file_properties/templates/add_for_user: + post: + summary: File Properties - Templates - Add For User + description: >- + Add a template associated with a user. See :route:`properties/add` to + add properties to a file. This endpoint can't be called on a team member + or admin's behalf. + operationId: FilePropertiesTemplatesAddForUser + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AddTemplateArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/AddTemplateResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/ModifyTemplateError' + x-codegen-request-body-name: body + /files/upload_session/finish_batch: + post: + summary: Files - Upload Session - Finish Batch + description: >- + This route helps you commit many files at once into a user's Dropbox. + Use :route:`upload_session/start` and :route:`upload_session/append_v2` + to upload file contents. We recommend uploading many files in parallel + to increase throughput. Once the file contents have been uploaded, + rather than calling :route:`upload_session/finish`, use this route to + finish all your upload sessions in a single request. + + :field:`UploadSessionStartArg.close` or + :field:`UploadSessionAppendArg.close` needs to be true for the last + :route:`upload_session/start` or :route:`upload_session/append_v2` call. + The maximum size of a file one can upload to an upload session is 350 + GB. + + This route will return a job_id immediately and do the async commit job + in background. Use :route:`upload_session/finish_batch/check` to check + the job status. + + For the same account, this route should be executed serially. That means + you should not start the next job before current job finishes. We allow + up to 1000 entries in a single request. + operationId: FilesUploadSessionFinishBatch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UploadSessionFinishBatchArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/UploadSessionFinishBatchLaunch' + default: + description: Error + content: {} + x-codegen-request-body-name: body + /files/upload_session/append_v2: + post: + summary: Files - Upload Session - Append V2 + description: >- + Append more data to an upload session. + + When the parameter close is set, this call will close the session. + + A single request should not upload more than 150 MB. The maximum size of + a file one can upload to an upload session is 350 GB. + operationId: FilesUploadSessionAppendV2 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UploadSessionAppendArg' + required: false + responses: + '200': + description: Success + content: {} + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/UploadSessionLookupError' + x-codegen-request-body-name: body + /files/create_folder_v2: + post: + summary: Files - Create Folder V2 + description: Create a folder at a given path. + operationId: FilesCreateFolderV2 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateFolderArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CreateFolderResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/CreateFolderError' + x-codegen-request-body-name: body + /files/copy_reference/get: + post: + summary: Files - Copy Reference - Get + description: >- + Get a copy reference to a file or folder. This reference string can be + used to save that file or folder to another user's Dropbox by passing it + to :route:`copy_reference/save`. + operationId: FilesCopyReferenceGet + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GetCopyReferenceArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/GetCopyReferenceResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/GetCopyReferenceError' + x-codegen-request-body-name: body + /paper/docs/users/list/continue: + post: + summary: Paper - Docs - Users - List - Continue + description: >- + Once a cursor has been retrieved from :route:`docs/users/list`, use this + to paginate through all users on the Paper doc. + operationId: PaperDocsUsersListContinue + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ListUsersOnPaperDocContinueArgs' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/ListUsersOnPaperDocResponse' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/ListUsersCursorError' + x-codegen-request-body-name: body + /file_properties/properties/search/continue: + post: + summary: File Properties - Properties - Search - Continue + description: >- + Once a cursor has been retrieved from :route:`properties/search`, use + this to paginate through all search results. + operationId: FilePropertiesPropertiesSearchContinue + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PropertiesSearchContinueArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/PropertiesSearchResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/PropertiesSearchContinueError' + x-codegen-request-body-name: body + /files/list_folder: + post: + summary: Files - List Folder + description: >- + Starts returning the contents of a folder. If the result's + :field:`ListFolderResult.has_more` field is :val:`true`, call + :route:`list_folder/continue` with the returned + :field:`ListFolderResult.cursor` to retrieve more entries. + + If you're using :field:`ListFolderArg.recursive` set to :val:`true` to + keep a local cache of the contents of a Dropbox account, iterate through + each entry in order and process them as follows to keep your local state + in sync: + + For each :type:`FileMetadata`, store the new entry at the given path in + your local state. If the required parent folders don't exist yet, create + them. If there's already something else at the given path, replace it + and remove all its children. + + For each :type:`FolderMetadata`, store the new entry at the given path + in your local state. If the required parent folders don't exist yet, + create them. If there's already something else at the given path, + replace it but leave the children as they are. Check the new entry's + :field:`FolderSharingInfo.read_only` and set all its children's + read-only statuses to match. + + For each :type:`DeletedMetadata`, if your local state has something at + the given path, remove it and all its children. If there's nothing at + the given path, ignore this entry. + + Note: :type:`auth.RateLimitError` may be returned if multiple + :route:`list_folder` or :route:`list_folder/continue` calls with same + parameters are made simultaneously by same API app for same user. If + your app implements retry logic, please hold off the retry until the + previous request finishes. + operationId: FilesListFolder + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ListFolderArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/ListFolderResult' + examples: + Testexample: + value: { "cursor": "ZtkX9_EHj3x7PMkVuFIhwKYXEpwpLwyxp9vMKomUhllil9q7eWiAu", "entries": [ { ".tag": "file", "client_modified": "2015-05-12T15:50:38Z", "content_hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "file_lock_info": { "created": "2015-05-12T15:50:38Z", "is_lockholder": true, "lockholder_name": "Imaginary User" }, "has_explicit_shared_members": false, "id": "id:a4ayc_80_OEAAAAAAAAAXw", "is_downloadable": true, "name": "test-2021-08-29T04-00-00.tar.gz", "path_display": "/somepath/test-2021-08-29T04-00-00.tar.gz", "path_lower": "/somepath/test-2021-08-29T04-00-00.tar.gz", "property_groups": [ { "fields": [ { "name": "Security Policy", "value": "Confidential" } ], "template_id": "ptid:1a5n2i6d3OYEAAAAAAAAAYa" } ], "rev": "a1c10ce0dd78", "server_modified": "2015-05-12T15:50:38Z", "sharing_info": { "modified_by": "dbid:AAH4f99T0taONIb-OurWxbNQ6ywGRopQngc", "parent_shared_folder_id": "84528192421", "read_only": true }, "size": 7212 }, { ".tag": "folder", "id": "id:a4ayc_80_OEAAAAAAAAAXz", "name": "math", "path_display": "/Homework/math", "path_lower": "/homework/math", "property_groups": [ { "fields": [ { "name": "Security Policy", "value": "Confidential" } ], "template_id": "ptid:1a5n2i6d3OYEAAAAAAAAAYa" } ], "sharing_info": { "no_access": false, "parent_shared_folder_id": "84528192421", "read_only": false, "traverse_only": false } } ], "has_more": true } + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/ListFolderError' + x-codegen-request-body-name: body + /files/upload_session/finish: + post: + summary: Files - Upload Session - Finish + description: >- + Finish an upload session and save the uploaded data to the given file + path. + + A single request should not upload more than 150 MB. The maximum size of + a file one can upload to an upload session is 350 GB. + operationId: FilesUploadSessionFinish + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UploadSessionFinishArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/FileMetadata' + examples: + Testexample: + value: { "name": "Prime_Numbers.txt", "id": "id:a4ayc_80_OEAAAAAAAAAXw", "client_modified": "2023-08-22T16:59:57Z", "server_modified": "2023-08-22T16:59:57Z", "rev": "a1c10ce0dd78", "size": 7212, "is_downloadable": true } + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/UploadSessionFinishError' + x-codegen-request-body-name: body + /sharing/get_shared_links: + post: + summary: Sharing - Get Shared Links + description: >- + Returns a list of :type:`LinkMetadata` objects for this user, including + collection links. + + If no path is given, returns a list of all shared links for the current + user, including collection links, up to a maximum of 1000 links. + + If a non-empty path is given, returns a list of all shared links that + allow access to the given path. Collection links are never returned in + this case. + + Note that the url field in the response is never the shortened URL. + operationId: SharingGetSharedLinks + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GetSharedLinksArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/GetSharedLinksResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/GetSharedLinksError' + x-codegen-request-body-name: body + /files/move_batch: + post: + summary: Files - Move Batch + description: >- + Move multiple files or folders to different locations at once in the + user's Dropbox. + + This route is 'all or nothing', which means if one entry fails, the + whole transaction will abort. + + This route will return job ID immediately and do the async moving job in + background. Please use :route:`move_batch/check` to check the job + status. + operationId: FilesMoveBatch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RelocationBatchArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/RelocationBatchLaunch' + default: + description: Error + content: {} + x-codegen-request-body-name: body + /files/list_folder/continue: + post: + summary: Files - List Folder - Continue + description: >- + Once a cursor has been retrieved from :route:`list_folder`, use this to + paginate through all files and retrieve updates to the folder, following + the same rules as documented for :route:`list_folder`. + operationId: FilesListFolderContinue + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ListFolderContinueArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/ListFolderResult' + examples: + Testexample: + value: { "cursor": "ZtkX9_EHj3x7PMkVuFIhwKYXEpwpLwyxp9vMKomUhllil9q7eWiAu", "entries": [ { ".tag": "file", "client_modified": "2015-05-12T15:50:38Z", "content_hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "file_lock_info": { "created": "2015-05-12T12:50:38Z", "is_lockholder": true, "lockholder_name": "Imaginary User" }, "has_explicit_shared_members": false, "id": "id:a4ayc_80_OEAAAAAAAAAXw", "is_downloadable": true, "name": "test-2021-08-29T02-00-00.tar.gz", "path_display": "/somepath/test-2021-08-29T02-00-00.tar.gz", "path_lower": "/somepath/test-2021-08-29T02-00-00.tar.gz", "property_groups": [ { "fields": [ { "name": "Security Policy", "value": "Confidential" } ], "template_id": "ptid:1a5n2i6d3OYEAAAAAAAAAYa" } ], "rev": "a1c10ce0dd78", "server_modified": "2015-05-12T12:50:38Z", "sharing_info": { "modified_by": "dbid:AAH4f99T0taONIb-OurWxbNQ6ywGRopQngc", "parent_shared_folder_id": "84528192421", "read_only": true }, "size": 7212 } ], "has_more": false } + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/ListFolderContinueError' + x-codegen-request-body-name: body + /paper/docs/permanently_delete: + post: + summary: Paper - Docs - Permanently Delete + description: >- + Permanently deletes the given Paper doc. This operation is final as the + doc cannot be recovered. + + + Note: This action can be performed only by the doc owner. + operationId: PaperDocsPermanentlyDelete + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RefPaperDoc' + required: false + responses: + '200': + description: Success + content: {} + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/DocLookupError' + x-codegen-request-body-name: body + /users/get_space_usage: + post: + summary: Users - Get Space Usage + description: Get the space usage information for the current user's account. + operationId: UsersGetSpaceUsage + requestBody: + content: + application/json: {} + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/SpaceUsage' + default: + description: Error + content: {} + x-codegen-request-body-name: body + /file_properties/properties/add: + post: + summary: File Properties - Properties - Add + description: >- + Add property groups to a Dropbox file. See + :route:`templates/add_for_user` or :route:`templates/add_for_team` to + create new templates. + operationId: FilePropertiesPropertiesAdd + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AddPropertiesArg' + required: false + responses: + '200': + description: Success + content: {} + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/AddPropertiesError' + x-codegen-request-body-name: body + /sharing/add_folder_member: + post: + summary: Sharing - Add Folder Member + description: >- + Allows an owner or editor (if the ACL update policy allows) of a shared + folder to add another member. + + For the new member to get access to all the functionality for this + folder, you will need to call :route:`mount_folder` on their behalf. + + Apps must have full Dropbox access to use this endpoint. + operationId: SharingAddFolderMember + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AddFolderMemberArg' + required: false + responses: + '200': + description: Success + content: {} + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/AddFolderMemberError' + x-codegen-request-body-name: body + /sharing/list_shared_links: + post: + summary: Sharing - List Shared Links + description: >- + List shared links of this user. + + If no path is given, returns a list of all shared links for the current + user. + + If a non-empty path is given, returns a list of all shared links that + allow access to the given path - direct links to the given path and + links to parent folders of the given path. Links to parent folders can + be suppressed by setting direct_only to true. + operationId: SharingListSharedLinks + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ListSharedLinksArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/ListSharedLinksResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/ListSharedLinksError' + x-codegen-request-body-name: body + /files/upload: + post: + summary: Files - Upload + description: >- + Create a new file with the contents provided in the request. + + Do not use this to upload a file larger than 150 MB. Instead, create an + upload session with :route:`upload_session/start`. + operationId: FilesUpload + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CommitInfo' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/FileMetadata' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/UploadError' + x-codegen-request-body-name: body + /file_properties/templates/update_for_user: + post: + summary: File Properties - Templates - Update For User + description: >- + Update a template associated with a user. This route can update the + template name, the template description and add optional properties to + templates. This endpoint can't be called on a team member or admin's + behalf. + operationId: FilePropertiesTemplatesUpdateForUser + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateTemplateArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateTemplateResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/ModifyTemplateError' + x-codegen-request-body-name: body + /sharing/list_received_files/continue: + post: + summary: Sharing - List Received Files - Continue + description: Get more results with a cursor from :route:`list_received_files`. + operationId: SharingListReceivedFilesContinue + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ListFilesContinueArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/ListFilesResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/ListFilesContinueError' + x-codegen-request-body-name: body + /files/download_zip: + post: + summary: Files - Download Zip + description: >- + Download a folder from the user's Dropbox, as a zip file. The folder + must be less than 1 GB in size and have fewer than 10,000 total files. + The input cannot be a single file. + operationId: FilesDownloadZip + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DownloadZipArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/DownloadZipResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/DownloadZipError' + x-codegen-request-body-name: body + /sharing/change_file_member_access: + post: + summary: Sharing - Change File Member Access + description: Identical to update_file_member but with less information returned. + operationId: SharingChangeFileMemberAccess + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ChangeFileMemberAccessArgs' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/FileMemberActionResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/FileMemberActionError' + x-codegen-request-body-name: body + /file_properties/templates/add_for_team: + post: + summary: File Properties - Templates - Add For Team + description: >- + Add a template associated with a team. See :route:`properties/add` to + add properties to a file or folder. + + Note: this endpoint will create team-owned templates. + operationId: FilePropertiesTemplatesAddForTeam + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AddTemplateArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/AddTemplateResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/ModifyTemplateError' + x-codegen-request-body-name: body + /sharing/modify_shared_link_settings: + post: + summary: Sharing - Modify Shared Link Settings + description: >- + Modify the shared link's settings. + + If the requested visibility conflict with the shared links policy of the + team or the shared folder (in case the linked file is part of a shared + folder) then the :field:`LinkPermissions.resolved_visibility` of the + returned :type:`SharedLinkMetadata` will reflect the actual visibility + of the shared link and the :field:`LinkPermissions.requested_visibility` + will reflect the requested visibility. + operationId: SharingModifySharedLinkSettings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ModifySharedLinkSettingsArgs' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/SharedLinkMetadata' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/ModifySharedLinkSettingsError' + x-codegen-request-body-name: body + /sharing/create_shared_link: + post: + summary: Sharing - Create Shared Link + description: >- + Create a shared link. + + If a shared link already exists for the given path, that link is + returned. + + Note that in the returned :type:`PathLinkMetadata`, the + :field:`PathLinkMetadata.url` field is the shortened URL if + :field:`CreateSharedLinkArg.short_url` argument is set to :val:`true`. + + Previously, it was technically possible to break a shared link by moving + or renaming the corresponding file or folder. In the future, this will + no longer be the case, so your app shouldn't rely on this behavior. + Instead, if your app needs to revoke a shared link, use + :route:`revoke_shared_link`. + operationId: SharingCreateSharedLink + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateSharedLinkArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/PathLinkMetadata' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/CreateSharedLinkError' + x-codegen-request-body-name: body + /sharing/remove_file_member: + post: + summary: Sharing - Remove File Member + description: Identical to remove_file_member_2 but with less information returned. + operationId: SharingRemoveFileMember + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RemoveFileMemberArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/FileMemberActionIndividualResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/RemoveFileMemberError' + x-codegen-request-body-name: body + /auth/token/revoke: + post: + summary: Auth - Token - Revoke + description: Disables the access token used to authenticate the call. + operationId: AuthTokenRevoke + requestBody: + content: + application/json: {} + required: false + responses: + '200': + description: Success + content: {} + default: + description: Error + content: {} + x-codegen-request-body-name: body + /files/copy: + post: + summary: Files - Copy + description: |- + Copy a file or folder to a different location in the user's Dropbox. + If the source path is a folder all its contents will be copied. + operationId: FilesCopy + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RelocationArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/Metadata' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/RelocationError' + x-codegen-request-body-name: body + /sharing/get_shared_link_metadata: + post: + summary: Sharing - Get Shared Link Metadata + description: Get the shared link's metadata. + operationId: SharingGetSharedLinkMetadata + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GetSharedLinkMetadataArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/SharedLinkMetadata' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/SharedLinkError' + x-codegen-request-body-name: body + /file_properties/properties/overwrite: + post: + summary: File Properties - Properties - Overwrite + description: >- + Overwrite property groups associated with a file. This endpoint should + be used instead of :route:`properties/update` when property groups are + being updated via a "snapshot" instead of via a "delta". In other words, + this endpoint will delete all omitted fields from a property group, + whereas :route:`properties/update` will only delete fields that are + explicitly marked for deletion. + operationId: FilePropertiesPropertiesOverwrite + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OverwritePropertyGroupArg' + required: false + responses: + '200': + description: Success + content: {} + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/InvalidPropertyGroupError' + x-codegen-request-body-name: body + /files/permanently_delete: + post: + summary: Files - Permanently Delete + description: >- + Permanently delete the file or folder at a given path (see + https://www.dropbox.com/en/help/40). + + Note: This endpoint is only available for Dropbox Business apps. + operationId: FilesPermanentlyDelete + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteArg' + required: false + responses: + '200': + description: Success + content: {} + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteError' + x-codegen-request-body-name: body + /sharing/unshare_folder: + post: + summary: Sharing - Unshare Folder + description: >- + Allows a shared folder owner to unshare the folder. + + You'll need to call :route:`check_job_status` to determine if the action + has completed successfully. + + Apps must have full Dropbox access to use this endpoint. + operationId: SharingUnshareFolder + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UnshareFolderArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/LaunchEmptyResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/UnshareFolderError' + x-codegen-request-body-name: body + /sharing/list_mountable_folders/continue: + post: + summary: Sharing - List Mountable Folders - Continue + description: >- + Once a cursor has been retrieved from :route:`list_mountable_folders`, + use this to paginate through all mountable shared folders. The cursor + must come from a previous call to :route:`list_mountable_folders` or + :route:`list_mountable_folders/continue`. + + Apps must have full Dropbox access to use this endpoint. + operationId: SharingListMountableFoldersContinue + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ListFoldersContinueArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/ListFoldersResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/ListFoldersContinueError' + x-codegen-request-body-name: body + /file_properties/templates/get_for_team: + post: + summary: File Properties - Templates - Get For Team + description: Get the schema for a specified template. + operationId: FilePropertiesTemplatesGetForTeam + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GetTemplateArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/GetTemplateResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/TemplateError' + x-codegen-request-body-name: body + /sharing/relinquish_folder_membership: + post: + summary: Sharing - Relinquish Folder Membership + description: >- + The current user relinquishes their membership in the designated shared + folder and will no longer have access to the folder. A folder owner + cannot relinquish membership in their own folder. + + This will run synchronously if leave_a_copy is false, and asynchronously + if leave_a_copy is true. Apps must have full Dropbox access to use this + endpoint. + operationId: SharingRelinquishFolderMembership + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RelinquishFolderMembershipArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/LaunchEmptyResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/RelinquishFolderMembershipError' + x-codegen-request-body-name: body + /files/download: + post: + summary: Files - Download + description: Download a file from a user's Dropbox. + operationId: FilesDownload + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DownloadArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/FileMetadata' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/DownloadError' + x-codegen-request-body-name: body + /files/search: + post: + summary: Files - Search + description: >- + Searches for files and folders. + + Note: Recent changes may not immediately be reflected in search results + due to a short delay in indexing. + operationId: FilesSearch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SearchArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/SearchResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/SearchError' + x-codegen-request-body-name: body + /sharing/get_file_metadata: + post: + summary: Sharing - Get File Metadata + description: Returns shared file metadata. + operationId: SharingGetFileMetadata + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GetFileMetadataArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/SharedFileMetadata' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/GetFileMetadataError' + x-codegen-request-body-name: body + /sharing/list_mountable_folders: + post: + summary: Sharing - List Mountable Folders + description: >- + Return the list of all shared folders the current user can mount or + unmount. + + Apps must have full Dropbox access to use this endpoint. + operationId: SharingListMountableFolders + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ListFoldersArgs' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/ListFoldersResult' + default: + description: Error + content: {} + x-codegen-request-body-name: body + /file_properties/templates/list_for_team: + post: + summary: File Properties - Templates - List For Team + description: >- + Get the template identifiers for a team. To get the schema of each + template use :route:`templates/get_for_team`. + operationId: FilePropertiesTemplatesListForTeam + requestBody: + content: + application/json: {} + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/ListTemplateResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/TemplateError' + x-codegen-request-body-name: body + /file_properties/properties/remove: + post: + summary: File Properties - Properties - Remove + description: >- + Permanently removes the specified property group from the file. To + remove specific property field key value pairs, see + :route:`properties/update`. To update a template, see + :route:`templates/update_for_user` or + :route:`templates/update_for_team`. To remove a template, see + :route:`templates/remove_for_user` or + :route:`templates/remove_for_team`. + operationId: FilePropertiesPropertiesRemove + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RemovePropertiesArg' + required: false + responses: + '200': + description: Success + content: {} + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/RemovePropertiesError' + x-codegen-request-body-name: body + /files/create_folder: + post: + summary: Files - Create Folder + description: Create a folder at a given path. + operationId: FilesCreateFolder + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateFolderArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/FolderMetadata' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/CreateFolderError' + x-codegen-request-body-name: body + /file_requests/list: + post: + summary: File Requests - List + description: >- + Returns a list of file requests owned by this user. For apps with the + app folder permission, this will only return file requests with + destinations in the app folder. + operationId: FileRequestsList + requestBody: + content: + application/json: {} + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/ListFileRequestsResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/ListFileRequestsError' + x-codegen-request-body-name: body + /paper/docs/archive: + post: + summary: Paper - Docs - Archive + description: >- + Marks the given Paper doc as archived. + + Note: This action can be performed or undone by anyone with edit + permissions to the doc. + operationId: PaperDocsArchive + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RefPaperDoc' + required: false + responses: + '200': + description: Success + content: {} + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/DocLookupError' + x-codegen-request-body-name: body + /users/get_account_batch: + post: + summary: Users - Get Account Batch + description: >- + Get information about multiple user accounts. At most 300 accounts may + be queried per request. + operationId: UsersGetAccountBatch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GetAccountBatchArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/BasicAccount' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/GetAccountBatchError' + x-codegen-request-body-name: body + /file_requests/create: + post: + summary: File Requests - Create + description: Creates a file request for this user. + operationId: FileRequestsCreate + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateFileRequestArgs' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/FileRequest' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/CreateFileRequestError' + x-codegen-request-body-name: body + /sharing/list_file_members: + post: + summary: Sharing - List File Members + description: >- + Use to obtain the members who have been invited to a file, both + inherited and uninherited members. + operationId: SharingListFileMembers + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ListFileMembersArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/SharedFileMembers' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/ListFileMembersError' + x-codegen-request-body-name: body + /file_properties/templates/update_for_team: + post: + summary: File Properties - Templates - Update For Team + description: >- + Update a template associated with a team. This route can update the + template name, the template description and add optional properties to + templates. + operationId: FilePropertiesTemplatesUpdateForTeam + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateTemplateArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateTemplateResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/ModifyTemplateError' + x-codegen-request-body-name: body + /sharing/list_file_members/continue: + post: + summary: Sharing - List File Members - Continue + description: >- + Once a cursor has been retrieved from :route:`list_file_members` or + :route:`list_file_members/batch`, use this to paginate through all + shared file members. + operationId: SharingListFileMembersContinue + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ListFileMembersContinueArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/SharedFileMembers' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/ListFileMembersContinueError' + x-codegen-request-body-name: body + /paper/docs/update: + post: + summary: Paper - Docs - Update + description: Updates an existing Paper doc with the provided content. + operationId: PaperDocsUpdate + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PaperDocUpdateArgs' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/PaperDocCreateUpdateResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/PaperDocUpdateError' + x-codegen-request-body-name: body + /auth/token/from_oauth1: + post: + summary: Auth - Token - From Oauth1 + description: >- + Creates an OAuth 2.0 access token from the supplied OAuth 1.0 access + token. + operationId: AuthTokenFromOauth1 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TokenFromOAuth1Arg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/TokenFromOAuth1Result' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/TokenFromOAuth1Error' + x-codegen-request-body-name: body + /files/properties/overwrite: + post: + summary: Files - Properties - Overwrite + operationId: FilesPropertiesOverwrite + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OverwritePropertyGroupArg' + required: false + responses: + '200': + description: Success + content: {} + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/InvalidPropertyGroupError' + x-codegen-request-body-name: body + /file_requests/get: + post: + summary: File Requests - Get + description: Returns the specified file request. + operationId: FileRequestsGet + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GetFileRequestArgs' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/FileRequest' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/GetFileRequestError' + x-codegen-request-body-name: body + /paper/docs/list/continue: + post: + summary: Paper - Docs - List - Continue + description: >- + Once a cursor has been retrieved from :route:`docs/list`, use this to + paginate through all Paper doc. + operationId: PaperDocsListContinue + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ListPaperDocsContinueArgs' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/ListPaperDocsResponse' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/ListDocsCursorError' + x-codegen-request-body-name: body + /files/get_thumbnail: + post: + summary: Files - Get Thumbnail + description: >- + Get a thumbnail for an image. + + This method currently supports files with the following file extensions: + jpg, jpeg, png, tiff, tif, gif and bmp. Photos that are larger than 20MB + in size won't be converted to a thumbnail. + operationId: FilesGetThumbnail + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ThumbnailArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/FileMetadata' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/ThumbnailError' + x-codegen-request-body-name: body + /sharing/update_folder_policy: + post: + summary: Sharing - Update Folder Policy + description: >- + Update the sharing policies for a shared folder. + + User must have :field:`AccessLevel.owner` access to the shared folder to + update its policies. + + Apps must have full Dropbox access to use this endpoint. + operationId: SharingUpdateFolderPolicy + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateFolderPolicyArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/SharedFolderMetadata' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateFolderPolicyError' + x-codegen-request-body-name: body + /sharing/set_access_inheritance: + post: + summary: Sharing - Set Access Inheritance + description: >- + Change the inheritance policy of an existing Shared Folder. Only + permitted for shared folders in a shared team root. + + If a :field:`ShareFolderLaunch.async_job_id` is returned, you'll need to + call :route:`check_share_job_status` until the action completes to get + the metadata for the folder. + operationId: SharingSetAccessInheritance + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SetAccessInheritanceArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/ShareFolderLaunch' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/SetAccessInheritanceError' + x-codegen-request-body-name: body + /files/save_url: + post: + summary: Files - Save Url + description: >- + Save a specified URL into a file in user's Dropbox. If the given path + already exists, the file will be renamed to avoid the conflict (e.g. + myfile (1).txt). + operationId: FilesSaveUrl + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SaveUrlArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/SaveUrlResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/SaveUrlError' + x-codegen-request-body-name: body + /files/alpha/get_metadata: + post: + summary: Files - Alpha - Get Metadata + description: >- + Returns the metadata for a file or folder. This is an alpha endpoint + compatible with the properties API. + + Note: Metadata for the root folder is unsupported. + operationId: FilesAlphaGetMetadata + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AlphaGetMetadataArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/Metadata' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/AlphaGetMetadataError' + x-codegen-request-body-name: body + /sharing/remove_file_member_2: + post: + summary: Sharing - Remove File Member 2 + description: Removes a specified member from the file. + operationId: SharingRemoveFileMember2 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RemoveFileMemberArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/FileMemberRemoveActionResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/RemoveFileMemberError' + x-codegen-request-body-name: body + /files/copy_v2: + post: + summary: Files - Copy V2 + description: |- + Copy a file or folder to a different location in the user's Dropbox. + If the source path is a folder all its contents will be copied. + operationId: FilesCopyV2 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RelocationArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/RelocationResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/RelocationError' + x-codegen-request-body-name: body + /files/upload_session/start: + post: + summary: Files - Upload Session - Start + description: >- + Upload sessions allow you to upload a single file in one or more + requests, for example where the size of the file is greater than 150 + MB. This call starts a new upload session with the given data. You can + then use :route:`upload_session/append_v2` to add more data and + :route:`upload_session/finish` to save all the data to a file in + Dropbox. + + A single request should not upload more than 150 MB. The maximum size of + a file one can upload to an upload session is 350 GB. + + An upload session can be used for a maximum of 48 hours. Attempting to + use an :field:`UploadSessionStartResult.session_id` with + :route:`upload_session/append_v2` or :route:`upload_session/finish` more + than 48 hours after its creation will return a + :field:`UploadSessionLookupError.not_found`. + operationId: FilesUploadSessionStart + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UploadSessionStartArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/UploadSessionStartResult' + default: + description: Error + content: {} + x-codegen-request-body-name: body + /file_properties/templates/list_for_user: + post: + summary: File Properties - Templates - List For User + description: >- + Get the template identifiers for a team. To get the schema of each + template use :route:`templates/get_for_user`. This endpoint can't be + called on a team member or admin's behalf. + operationId: FilePropertiesTemplatesListForUser + requestBody: + content: + application/json: {} + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/ListTemplateResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/TemplateError' + x-codegen-request-body-name: body + /files/create_folder_batch: + post: + summary: Files - Create Folder Batch + description: >- + Create multiple folders at once. + + This route is asynchronous for large batches, which returns a job ID + immediately and runs the create folder batch asynchronously. Otherwise, + creates the folders and returns the result synchronously for smaller + inputs. You can force asynchronous behaviour by using the + :field:`CreateFolderBatchArg.force_async` flag. Use + :route:`create_folder_batch/check` to check the job status. + operationId: FilesCreateFolderBatch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CreateFolderBatchArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/CreateFolderBatchLaunch' + default: + description: Error + content: {} + x-codegen-request-body-name: body + /users/get_account: + post: + summary: Users - Get Account + description: Get information about a user's account. + operationId: UsersGetAccount + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GetAccountArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/BasicAccount' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/GetAccountError' + x-codegen-request-body-name: body + /files/move_v2: + post: + summary: Files - Move V2 + description: |- + Move a file or folder to a different location in the user's Dropbox. + If the source path is a folder all its contents will be moved. + operationId: FilesMoveV2 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RelocationArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/RelocationResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/RelocationError' + x-codegen-request-body-name: body + /paper/docs/folder_users/list/continue: + post: + summary: Paper - Docs - Folder Users - List - Continue + description: >- + Once a cursor has been retrieved from :route:`docs/folder_users/list`, + use this to paginate through all users on the Paper folder. + operationId: PaperDocsFolderUsersListContinue + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ListUsersOnFolderContinueArgs' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/ListUsersOnFolderResponse' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/ListUsersCursorError' + x-codegen-request-body-name: body + /sharing/get_file_metadata/batch: + post: + summary: Sharing - Get File Metadata - Batch + description: Returns shared file metadata. + operationId: SharingGetFileMetadataBatch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GetFileMetadataBatchArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/GetFileMetadataBatchResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/SharingUserError' + x-codegen-request-body-name: body + /paper/docs/users/remove: + post: + summary: Paper - Docs - Users - Remove + description: >- + Allows an owner or editor to remove users from a Paper doc using their + email address or Dropbox account ID. + + + Note: Doc owner cannot be removed. + operationId: PaperDocsUsersRemove + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RemovePaperDocUser' + required: false + responses: + '200': + description: Success + content: {} + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/DocLookupError' + x-codegen-request-body-name: body + /paper/docs/folder_users/list: + post: + summary: Paper - Docs - Folder Users - List + description: >- + Lists the users who are explicitly invited to the Paper folder in which + the Paper doc is contained. For private folders all users (including + owner) shared on the folder are listed and for team folders all non-team + users shared on the folder are returned. + operationId: PaperDocsFolderUsersList + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ListUsersOnFolderArgs' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/ListUsersOnFolderResponse' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/DocLookupError' + x-codegen-request-body-name: body + /files/upload_session/append: + post: + summary: Files - Upload Session - Append + description: >- + Append more data to an upload session. + + A single request should not upload more than 150 MB. The maximum size of + a file one can upload to an upload session is 350 GB. + operationId: FilesUploadSessionAppend + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UploadSessionCursor' + required: false + responses: + '200': + description: Success + content: {} + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/UploadSessionLookupError' + x-codegen-request-body-name: body + /sharing/list_folders: + post: + summary: Sharing - List Folders + description: |- + Return the list of all shared folders the current user has access to. + Apps must have full Dropbox access to use this endpoint. + operationId: SharingListFolders + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ListFoldersArgs' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/ListFoldersResult' + default: + description: Error + content: {} + x-codegen-request-body-name: body + /files/get_metadata: + post: + summary: Files - Get Metadata + description: |- + Returns the metadata for a file or folder. + Note: Metadata for the root folder is unsupported. + operationId: FilesGetMetadata + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GetMetadataArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/Metadata' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/GetMetadataError' + x-codegen-request-body-name: body + /sharing/list_file_members/batch: + post: + summary: Sharing - List File Members - Batch + description: >- + Get members of multiple files at once. The arguments to this route are + more limited, and the limit on query result size per file is more + strict. To customize the results more, use the individual file endpoint. + + Inherited users and groups are not included in the result, and + permissions are not returned for this endpoint. + operationId: SharingListFileMembersBatch + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ListFileMembersBatchArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/ListFileMembersBatchResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/SharingUserError' + x-codegen-request-body-name: body + /sharing/transfer_folder: + post: + summary: Sharing - Transfer Folder + description: >- + Transfer ownership of a shared folder to a member of the shared folder. + + User must have :field:`AccessLevel.owner` access to the shared folder to + perform a transfer. + + Apps must have full Dropbox access to use this endpoint. + operationId: SharingTransferFolder + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TransferFolderArg' + required: false + responses: + '200': + description: Success + content: {} + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/TransferFolderError' + x-codegen-request-body-name: body + /file_properties/templates/get_for_user: + post: + summary: File Properties - Templates - Get For User + description: >- + Get the schema for a specified template. This endpoint can't be called + on a team member or admin's behalf. + operationId: FilePropertiesTemplatesGetForUser + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GetTemplateArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/GetTemplateResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/TemplateError' + x-codegen-request-body-name: body + /files/list_revisions: + post: + summary: Files - List Revisions + description: >- + Returns revisions for files based on a file path or a file id. The file + path or file id is identified from the latest file entry at the given + file path or id. This end point allows your app to query either by file + path or file id by setting the mode parameter appropriately. + + In the :field:`ListRevisionsMode.path` (default) mode, all revisions at + the same file path as the latest file entry are returned. If revisions + with the same file id are desired, then mode must be set to + :field:`ListRevisionsMode.id`. The :field:`ListRevisionsMode.id` mode is + useful to retrieve revisions for a given file across moves or renames. + operationId: FilesListRevisions + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ListRevisionsArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/ListRevisionsResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/ListRevisionsError' + x-codegen-request-body-name: body + /files/get_preview: + post: + summary: Files - Get Preview + description: >- + Get a preview for a file. + + Currently, PDF previews are generated for files with the following + extensions: .ai, .doc, .docm, .docx, .eps, .odp, .odt, .pps, .ppsm, + .ppsx, .ppt, .pptm, .pptx, .rtf. + + HTML previews are generated for files with the following extensions: + .csv, .ods, .xls, .xlsm, .xlsx. + + Other formats will return an unsupported extension error. + operationId: FilesGetPreview + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PreviewArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/FileMetadata' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/PreviewError' + x-codegen-request-body-name: body + /files/properties/template/list: + post: + summary: Files - Properties - Template - List + operationId: FilesPropertiesTemplateList + requestBody: + content: + application/json: {} + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/ListTemplateResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/TemplateError' + x-codegen-request-body-name: body + /paper/docs/create: + post: + summary: Paper - Docs - Create + description: Creates a new Paper doc with the provided content. + operationId: PaperDocsCreate + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PaperDocCreateArgs' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/PaperDocCreateUpdateResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/PaperDocCreateError' + x-codegen-request-body-name: body + /paper/docs/list: + post: + summary: Paper - Docs - List + description: >- + Return the list of all Paper docs according to the argument + specifications. To iterate over through the full pagination, pass the + cursor to :route:`docs/list/continue`. + operationId: PaperDocsList + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ListPaperDocsArgs' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/ListPaperDocsResponse' + default: + description: Error + content: {} + x-codegen-request-body-name: body + /sharing/get_shared_link_file: + post: + summary: Sharing - Get Shared Link File + description: Download the shared link's file from a user's Dropbox. + operationId: SharingGetSharedLinkFile + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/GetSharedLinkMetadataArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/SharedLinkMetadata' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/GetSharedLinkFileError' + x-codegen-request-body-name: body + /paper/docs/download: + post: + summary: Paper - Docs - Download + description: Exports and downloads Paper doc either as HTML or markdown. + operationId: PaperDocsDownload + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PaperDocExport' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/PaperDocExportResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/DocLookupError' + x-codegen-request-body-name: body + /files/delete_batch/check: + post: + summary: Files - Delete Batch - Check + description: >- + Returns the status of an asynchronous job for :route:`delete_batch`. If + success, it returns list of result for each entry. + operationId: FilesDeleteBatchCheck + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PollArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteBatchJobStatus' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/PollError' + x-codegen-request-body-name: body + /files/delete_v2: + post: + summary: Files - Delete V2 + description: >- + Delete the file or folder at a given path. + + If the path is a folder, all its contents will be deleted too. + + A successful response indicates that the file or folder was deleted. The + returned metadata will be the corresponding :type:`FileMetadata` or + :type:`FolderMetadata` for the item at time of deletion, and not a + :type:`DeletedMetadata` object. + operationId: FilesDeleteV2 + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResult' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteError' + x-codegen-request-body-name: body + /sharing/check_job_status: + post: + summary: Sharing - Check Job Status + description: |- + Returns the status of an asynchronous job. + Apps must have full Dropbox access to use this endpoint. + operationId: SharingCheckJobStatus + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PollArg' + required: false + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/JobStatus' + default: + description: Error + content: + application/json: + schema: + $ref: '#/components/schemas/PollError' + x-codegen-request-body-name: body +components: + schemas: + PreviewArg: + type: object + properties: + path: + type: string + description: The path of the file to preview. + rev: + type: string + description: Please specify revision in :field:`path` instead. + description: | + path: The path of the file to preview. + rev: Please specify revision in :field:`path` instead. + Metadata: + type: object + properties: + parent_shared_folder_id: + type: string + description: >- + Please use :field:`FileSharingInfo.parent_shared_folder_id` or + :field:`FolderSharingInfo.parent_shared_folder_id` instead. + name: + type: string + description: >- + The last component of the path (including extension). This never + contains a slash. + path_display: + type: string + description: >- + The cased path to be used for display purposes only. In rare + instances the casing will not correctly match the user's filesystem, + but this behavior will match the path provided in the Core API v1, + and at least the last path component will have the correct casing. + Changes to only the casing of paths won't be returned by + :route:`list_folder/continue`. This field will be null if the file + or folder is not mounted. + path_lower: + type: string + description: >- + The lowercased full path in the user's Dropbox. This always starts + with a slash. This field will be null if the file or folder is not + mounted. + description: > + Metadata for a file or folder. + + name: The last component of the path (including extension). This never + contains a slash. + + path_lower: The lowercased full path in the user's Dropbox. This always + starts with a slash. This field will be null if the file or folder is + not mounted. + + path_display: The cased path to be used for display purposes only. In + rare instances the casing will not correctly match the user's + filesystem, but this behavior will match the path provided in the Core + API v1, and at least the last path component will have the correct + casing. Changes to only the casing of paths won't be returned by + :route:`list_folder/continue`. This field will be null if the file or + folder is not mounted. + + parent_shared_folder_id: Please use + :field:`FileSharingInfo.parent_shared_folder_id` or + :field:`FolderSharingInfo.parent_shared_folder_id` instead. + ShareFolderArg: + type: object + properties: + viewer_info_policy: + $ref: '#/components/schemas/ViewerInfoPolicy' + force_async: + type: boolean + description: Whether to force the share to happen asynchronously. + acl_update_policy: + $ref: '#/components/schemas/AclUpdatePolicy' + actions: + type: array + description: >- + A list of `FolderAction`s corresponding to `FolderPermission`s that + should appear in the response's + :field:`SharedFolderMetadata.permissions` field describing the + actions the authenticated user can perform on the folder. + items: + $ref: '#/components/schemas/FolderAction' + shared_link_policy: + $ref: '#/components/schemas/SharedLinkPolicy' + path: + type: string + description: >- + The path to the folder to share. If it does not exist, then a new + one is created. + link_settings: + $ref: '#/components/schemas/LinkSettings' + member_policy: + $ref: '#/components/schemas/MemberPolicy' + description: > + path: The path to the folder to share. If it does not exist, then a new + one is created. + + acl_update_policy: Who can add and remove members of this shared folder. + + force_async: Whether to force the share to happen asynchronously. + + member_policy: Who can be a member of this shared folder. Only + applicable if the current user is on a team. + + shared_link_policy: The policy to apply to shared links created for + content inside this shared folder. The current user must be on a team + to set this policy to :field:`SharedLinkPolicy.members`. + + viewer_info_policy: Who can enable/disable viewer info for this shared + folder. + + actions: A list of `FolderAction`s corresponding to `FolderPermission`s + that should appear in the response's + :field:`SharedFolderMetadata.permissions` field describing the actions + the authenticated user can perform on the folder. + + link_settings: Settings on the link for this folder. + UpdateFolderPolicyArg: + type: object + properties: + viewer_info_policy: + $ref: '#/components/schemas/ViewerInfoPolicy' + acl_update_policy: + $ref: '#/components/schemas/AclUpdatePolicy' + actions: + type: array + description: >- + A list of `FolderAction`s corresponding to `FolderPermission`s that + should appear in the response's + :field:`SharedFolderMetadata.permissions` field describing the + actions the authenticated user can perform on the folder. + items: + $ref: '#/components/schemas/FolderAction' + shared_folder_id: + type: string + description: The ID for the shared folder. + shared_link_policy: + $ref: '#/components/schemas/SharedLinkPolicy' + link_settings: + $ref: '#/components/schemas/LinkSettings' + member_policy: + $ref: '#/components/schemas/MemberPolicy' + description: > + If any of the policies are unset, then they retain their current + setting. + + shared_folder_id: The ID for the shared folder. + + member_policy: Who can be a member of this shared folder. Only + applicable if the current user is on a team. + + acl_update_policy: Who can add and remove members of this shared folder. + + viewer_info_policy: Who can enable/disable viewer info for this shared + folder. + + shared_link_policy: The policy to apply to shared links created for + content inside this shared folder. The current user must be on a team to + set this policy to :field:`SharedLinkPolicy.members`. + + link_settings: Settings on the link for this folder. + + actions: A list of `FolderAction`s corresponding to `FolderPermission`s + that should appear in the response's + :field:`SharedFolderMetadata.permissions` field describing the actions + the authenticated user can perform on the folder. + LogicalOperator: + type: object + properties: + .tag: + title: Choice of LogicalOperator + type: string + enum: + - or_operator + - other + description: | + Logical operator to join search queries together. + or_operator: Append a query with an "or" operator. + other: None + PropertyFieldTemplate: + type: object + properties: + type: + $ref: '#/components/schemas/PropertyType' + name: + type: string + description: >- + Key of the property field being described. Property field keys can + be up to 256 bytes. + description: + type: string + description: >- + Description of the property field. Property field descriptions can + be up to 1024 bytes. + description: > + Defines how a single property field may be structured. Used exclusively + by :type:`PropertyGroupTemplate`. + + name: Key of the property field being described. Property field keys can + be up to 256 bytes. + + description: Description of the property field. Property field + descriptions can be up to 1024 bytes. + + type: Data type of the value of this property field. This type will be + enforced upon property creation and modifications. + ModifySharedLinkSettingsArgs: + type: object + properties: + url: + type: string + description: URL of the shared link to change its settings. + remove_expiration: + type: boolean + description: If set to true, removes the expiration of the shared link. + settings: + $ref: '#/components/schemas/SharedLinkSettings' + description: > + url: URL of the shared link to change its settings. + + settings: Set of settings for the shared link. + + remove_expiration: If set to true, removes the expiration of the shared + link. + SharedLinkError: + type: object + properties: + .tag: + title: Choice of SharedLinkError + type: string + enum: + - shared_link_not_found + - shared_link_access_denied + - unsupported_link_type + - other + description: > + shared_link_not_found: The shared link wasn't found. + + shared_link_access_denied: The caller is not allowed to access this + shared link. + + unsupported_link_type: This type of link is not supported. + + other: None + UpdateTemplateArg: + type: object + properties: + add_fields: + type: array + description: >- + Property field templates to be added to the group template. There + can be up to 32 properties in a single template. + items: + $ref: '#/components/schemas/PropertyFieldTemplate' + description: + type: string + description: >- + Description for the new template. Template descriptions can be up to + 1024 bytes. + template_id: + type: string + description: >- + An identifier for template added by See + :route:`templates/add_for_user` or :route:`templates/add_for_team`. + name: + type: string + description: >- + A display name for the template. template names can be up to 256 + bytes. + description: > + template_id: An identifier for template added by See + :route:`templates/add_for_user` or :route:`templates/add_for_team`. + + name: A display name for the template. template names can be up to 256 + bytes. + + description: Description for the new template. Template descriptions can + be up to 1024 bytes. + + add_fields: Property field templates to be added to the group template. + There can be up to 32 properties in a single template. + UploadSessionStartResult: + type: object + properties: + session_id: + type: string + description: >- + A unique identifier for the upload session. Pass this to + :route:`upload_session/append_v2` and + :route:`upload_session/finish`. + description: > + session_id: A unique identifier for the upload session. Pass this to + :route:`upload_session/append_v2` and :route:`upload_session/finish`. + CreateFolderBatchError: + type: object + properties: + .tag: + title: Choice of CreateFolderBatchError + type: string + enum: + - too_many_files + - other + description: | + too_many_files: The operation would involve too many files or folders. + other: None + DeleteBatchResultData: + type: object + properties: + metadata: + $ref: '#/components/schemas/Metadata' + description: | + metadata: Metadata of the deleted object. + FoldersContainingPaperDoc: + type: object + properties: + folders: + type: array + description: The folder path. If present the first folder is the root folder. + items: + $ref: '#/components/schemas/Folder' + folder_sharing_policy_type: + $ref: '#/components/schemas/FolderSharingPolicyType' + description: > + Metadata about Paper folders containing the specififed Paper doc. + + folder_sharing_policy_type: The sharing policy of the folder containing + the Paper doc. + + folders: The folder path. If present the first folder is the root + folder. + GetAccountBatchError: + type: object + properties: + .tag: + title: Choice of GetAccountBatchError + type: string + enum: + - no_account + - other + no_account: + type: string + description: >- + The value is an account ID specified in + :field:`GetAccountBatchArg.account_ids` that does not exist. + description: > + no_account: The value is an account ID specified in + :field:`GetAccountBatchArg.account_ids` that does not exist. + + other: None + BasicAccount: + type: object + properties: + account_id: + type: string + description: The user's unique Dropbox ID. + is_teammate: + type: boolean + description: >- + Whether this user is a teammate of the current user. If this account + is the current user's account, then this will be :val:`true`. + email_verified: + type: boolean + description: Whether the user has verified their e-mail address. + team_member_id: + type: string + description: >- + The user's unique team member id. This field will only be present if + the user is part of a team and :field:`is_teammate` is :val:`true`. + disabled: + type: boolean + description: Whether the user has been disabled. + email: + type: string + description: >- + The user's e-mail address. Do not rely on this without checking the + :field:`email_verified` field. Even then, it's possible that the + user has since lost access to their e-mail. + profile_photo_url: + type: string + description: URL for the photo representing the user, if one is set. + name: + $ref: '#/components/schemas/Name' + description: > + Basic information about any account. + + account_id: The user's unique Dropbox ID. + + name: Details of a user's name. + + email: The user's e-mail address. Do not rely on this without checking + the :field:`email_verified` field. Even then, it's possible that the + user has since lost access to their e-mail. + + email_verified: Whether the user has verified their e-mail address. + + disabled: Whether the user has been disabled. + + is_teammate: Whether this user is a teammate of the current user. If + this account is the current user's account, then this will be + :val:`true`. + + profile_photo_url: URL for the photo representing the user, if one is + set. + + team_member_id: The user's unique team member id. This field will only + be present if the user is part of a team and :field:`is_teammate` is + :val:`true`. + DeleteBatchResult: + type: object + properties: + entries: + type: array + items: + $ref: '#/components/schemas/DeleteBatchResultEntry' + description: | + entries: None + FolderPermission: + type: object + properties: + action: + $ref: '#/components/schemas/FolderAction' + reason: + $ref: '#/components/schemas/PermissionDeniedReason' + allow: + type: boolean + description: True if the user is allowed to take the action. + description: > + Whether the user is allowed to take the action on the shared folder. + + action: The action that the user may wish to take on the folder. + + 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, or if no reason is available. + UploadSessionFinishBatchResultEntry: + type: object + properties: + failure: + $ref: '#/components/schemas/UploadSessionFinishError' + .tag: + title: Choice of UploadSessionFinishBatchResultEntry + type: string + enum: + - success + - failure + success: + $ref: '#/components/schemas/FileMetadata' + description: | + success: None + failure: None + ExpectedSharedContentLinkMetadata: + type: object + properties: + current_audience: + $ref: '#/components/schemas/LinkAudience' + password_protected: + type: boolean + description: Whether the link is protected by a password. + expiry: + type: string + description: >- + Whether the link has an expiry set on it. A link with an expiry will + have its audience changed to members when the expiry is reached. + access_level: + $ref: '#/components/schemas/AccessLevel' + audience_restricting_shared_folder: + $ref: '#/components/schemas/AudienceRestrictingSharedFolder' + link_permissions: + type: array + description: A list of permissions for actions you can perform on the link. + items: + $ref: '#/components/schemas/LinkPermission' + audience_options: + type: array + description: >- + The audience options that are available for the content. Some + audience options may be unavailable. For example, team_only may be + unavailable if the content is not owned by a user on a team. The + 'default' audience option is always available if the user can modify + link settings. + items: + $ref: '#/components/schemas/LinkAudience' + description: > + The expected metadata of a shared link for a file or folder when a link + is first created for the content. Absent if the link already exists. + + audience_options: The audience options that are available for the + content. Some audience options may be unavailable. For example, + team_only may be unavailable if the content is not owned by a user on a + team. The 'default' audience option is always available if the user can + modify link settings. + + current_audience: The current audience of the link. + + link_permissions: A list of permissions for actions you can perform on + the link. + + password_protected: Whether the link is protected by a password. + + access_level: The access level on the link for this file. + + audience_restricting_shared_folder: The shared folder that prevents the + link audience for this link from being more restrictive. + + expiry: Whether the link has an expiry set on it. A link with an expiry + will have its audience changed to members when the expiry is reached. + UploadSessionAppendArg: + type: object + properties: + cursor: + $ref: '#/components/schemas/UploadSessionCursor' + close: + type: boolean + description: >- + If true, the current session will be closed, at which point you + won't be able to call :route:`upload_session/append_v2` anymore with + the current session. + description: > + cursor: Contains the upload session ID and the offset. + + close: If true, the current session will be closed, at which point you + won't be able to call :route:`upload_session/append_v2` anymore with the + current session. + ListUsersOnFolderArgs: + type: object + properties: + limit: + type: number + description: >- + Size limit per batch. The maximum number of users that can be + retrieved per batch is 1000. Higher value results in invalid + arguments error. + doc_id: + type: string + description: The Paper doc ID. + description: > + doc_id: The Paper doc ID. + + limit: Size limit per batch. The maximum number of users that can be + retrieved per batch is 1000. Higher value results in invalid arguments + error. + ListFileRequestsError: + type: object + properties: + .tag: + title: Choice of ListFileRequestsError + type: string + enum: + - disabled_for_team + - other + description: > + There was an error retrieving the file requests. + + disabled_for_team: This user's Dropbox Business team doesn't allow file + requests. + + other: None + LaunchResultBase: + type: object + properties: + .tag: + title: Choice of LaunchResultBase + type: string + enum: + - async_job_id + async_job_id: + type: string + description: >- + This response indicates that the processing is asynchronous. The + string is an id that can be used to obtain the status of the + asynchronous job. + description: > + Result returned by methods that launch an asynchronous job. + + A method who may either launch an asynchronous job, or complete the + request synchronously, can use this union by extending it, and adding a + 'complete' field with the type of the synchronous response. + + See :type:`LaunchEmptyResult` for an example. + + async_job_id: This response indicates that the processing is + asynchronous. The string is an id that can be used to obtain the status + of the asynchronous job. + GetAccountBatchArg: + type: object + properties: + account_ids: + type: array + description: >- + List of user account identifiers. Should not contain any duplicate + account IDs. + items: + type: string + description: > + account_ids: List of user account identifiers. Should not contain any + duplicate account IDs. + LookUpPropertiesError: + type: object + properties: + .tag: + title: Choice of LookUpPropertiesError + type: string + enum: + - property_group_not_found + - other + description: | + property_group_not_found: No property group was found. + other: None + RemovePaperDocUser: + type: object + properties: + member: + $ref: '#/components/schemas/MemberSelector' + doc_id: + type: string + description: The Paper doc ID. + description: > + doc_id: The Paper doc ID. + + member: User which should be removed from the Paper doc. Specify only + email address or Dropbox account ID. + MountFolderArg: + type: object + properties: + shared_folder_id: + type: string + description: The ID of the shared folder to mount. + description: | + shared_folder_id: The ID of the shared folder to mount. + ListFoldersResult: + type: object + properties: + cursor: + type: string + description: >- + Present if there are additional shared folders that have not been + returned yet. Pass the cursor into the corresponding continue + endpoint (either :route:`list_folders/continue` or + :route:`list_mountable_folders/continue`) to list additional + folders. + entries: + type: array + description: List of all shared folders the authenticated user has access to. + items: + $ref: '#/components/schemas/SharedFolderMetadata' + description: > + Result for :route:`list_folders` or :route:`list_mountable_folders`, + depending on which endpoint was requested. + + Unmounted shared folders can be identified by the absence of + :field:`SharedFolderMetadata.path_lower`. + + entries: List of all shared folders the authenticated user has access + to. + + cursor: Present if there are additional shared folders that have not + been returned yet. Pass the cursor into the corresponding continue + endpoint (either :route:`list_folders/continue` or + :route:`list_mountable_folders/continue`) to list additional folders. + PaperDocPermissionLevel: + type: object + properties: + .tag: + title: Choice of PaperDocPermissionLevel + type: string + enum: + - edit + - view_and_comment + - other + description: | + edit: User will be granted edit permissions. + view_and_comment: User will be granted view and comment permissions. + other: None + UnmountFolderArg: + type: object + properties: + shared_folder_id: + type: string + description: The ID for the shared folder. + description: | + shared_folder_id: The ID for the shared folder. + GetSharedLinkMetadataArg: + type: object + properties: + url: + type: string + description: URL of the shared link. + path: + type: string + description: >- + If the shared link is to a folder, this parameter can be used to + retrieve the metadata for a specific file or sub-folder in this + folder. A relative path should be used. + link_password: + type: string + description: If the shared link has a password, this parameter can be used. + description: > + url: URL of the shared link. + + path: If the shared link is to a folder, this parameter can be used to + retrieve the metadata for a specific file or sub-folder in this folder. + A relative path should be used. + + link_password: If the shared link has a password, this parameter can be + used. + MemberSpaceLimitType: + type: object + properties: + .tag: + title: Choice of MemberSpaceLimitType + type: string + enum: + - 'off' + - alert_only + - stop_sync + - other + description: > + The type of the space limit imposed on a team member. + + off: The team member does not have imposed space limit. + + alert_only: The team member has soft imposed space limit - the limit is + used for display and for notifications. + + stop_sync: The team member has hard imposed space limit - Dropbox file + sync will stop after the limit is reached. + + other: None + OverwritePropertyGroupArg: + type: object + properties: + path: + type: string + description: A unique identifier for the file or folder. + property_groups: + type: array + description: The property groups "snapshot" updates to force apply. + items: + $ref: '#/components/schemas/PropertyGroup' + description: | + path: A unique identifier for the file or folder. + property_groups: The property groups "snapshot" updates to force apply. + RemoveFileMemberArg: + type: object + properties: + member: + $ref: '#/components/schemas/MemberSelector' + file: + type: string + description: File from which to remove members. + description: > + Arguments for :route:`remove_file_member_2`. + + file: File from which to remove members. + + member: Member to remove from this file. Note that even if an email is + specified, it may result in the removal of a user (not an invitee) if + the user's main account corresponds to that email address. + CreateFolderEntryResult: + type: object + properties: + metadata: + $ref: '#/components/schemas/FolderMetadata' + description: | + metadata: Metadata of the created folder. + DeleteResult: + type: object + properties: + metadata: + $ref: '#/components/schemas/Metadata' + description: | + metadata: Metadata of the deleted object. + TransferFolderError: + type: object + properties: + access_error: + $ref: '#/components/schemas/SharedFolderAccessError' + .tag: + title: Choice of TransferFolderError + type: string + enum: + - access_error + - invalid_dropbox_id + - new_owner_not_a_member + - new_owner_unmounted + - new_owner_email_unverified + - team_folder + - no_permission + - other + description: > + access_error: None + + invalid_dropbox_id: :field:`TransferFolderArg.to_dropbox_id` is invalid. + + new_owner_not_a_member: The new designated owner is not currently a + member of the shared folder. + + new_owner_unmounted: The new designated owner has not added the folder + to their Dropbox. + + new_owner_email_unverified: The new designated owner's e-mail address is + unverified. + + team_folder: This action cannot be performed on a team shared folder. + + no_permission: The current user does not have permission to perform this + action. + + other: None + GetFileRequestArgs: + type: object + properties: + id: + type: string + description: The ID of the file request to retrieve. + description: | + Arguments for :route:`get`. + id: The ID of the file request to retrieve. + ListFileMembersCountResult: + type: object + properties: + member_count: + type: number + description: >- + The number of members on this file. This does not include inherited + members. + members: + $ref: '#/components/schemas/SharedFileMembers' + description: > + members: A list of members on this file. + + member_count: The number of members on this file. This does not include + inherited members. + ThumbnailError: + type: object + properties: + path: + $ref: '#/components/schemas/LookupError' + .tag: + title: Choice of ThumbnailError + type: string + enum: + - path + - unsupported_extension + - unsupported_image + - conversion_error + description: > + path: An error occurs when downloading metadata for the image. + + unsupported_extension: The file extension doesn't allow conversion to a + thumbnail. + + unsupported_image: The image cannot be converted to a thumbnail. + + conversion_error: An error occurs during thumbnail conversion. + DownloadZipArg: + type: object + properties: + path: + type: string + description: The path of the folder to download. + description: | + path: The path of the folder to download. + SharedFolderMembers: + type: object + properties: + cursor: + type: string + description: >- + Present if there are additional shared folder members that have not + been returned yet. Pass the cursor into + :route:`list_folder_members/continue` to list additional members. + users: + type: array + description: The list of user members of the shared folder. + items: + $ref: '#/components/schemas/UserMembershipInfo' + groups: + type: array + description: The list of group members of the shared folder. + items: + $ref: '#/components/schemas/GroupMembershipInfo' + invitees: + type: array + description: The list of invitees to the shared folder. + items: + $ref: '#/components/schemas/InviteeMembershipInfo' + description: > + Shared folder user and group membership. + + users: The list of user members of the shared folder. + + groups: The list of group members of the shared folder. + + invitees: The list of invitees to the shared folder. + + cursor: Present if there are additional shared folder members that have + not been returned yet. Pass the cursor into + :route:`list_folder_members/continue` to list additional members. + DownloadZipError: + type: object + properties: + path: + $ref: '#/components/schemas/LookupError' + .tag: + title: Choice of DownloadZipError + type: string + enum: + - path + - too_large + - too_many_files + - other + description: | + path: None + too_large: The folder is too large to download. + too_many_files: The folder has too many files to download. + other: None + SharedLinkSettings: + type: object + properties: + requested_visibility: + $ref: '#/components/schemas/RequestedVisibility' + link_password: + type: string + description: >- + If :field:`requested_visibility` is + :field:`RequestedVisibility.password` this is needed to specify the + password to access the link. + expires: + type: string + description: >- + Expiration time of the shared link. By default the link won't + expire. + description: > + requested_visibility: The requested access for this shared link. + + link_password: If :field:`requested_visibility` is + :field:`RequestedVisibility.password` this is needed to specify the + password to access the link. + + expires: Expiration time of the shared link. By default the link won't + expire. + RevokeSharedLinkArg: + type: object + properties: + url: + type: string + description: URL of the shared link. + description: | + url: URL of the shared link. + GetMetadataError: + type: object + properties: + path: + $ref: '#/components/schemas/LookupError' + .tag: + title: Choice of GetMetadataError + type: string + enum: + - path + description: | + path: None + SharingPublicPolicyType: + type: object + properties: + .tag: + title: Choice of SharingPublicPolicyType + type: string + enum: + - people_with_link_can_edit + - people_with_link_can_view_and_comment + - invite_only + - disabled + description: > + people_with_link_can_edit: Users who have a link to this doc can edit + it. + + people_with_link_can_view_and_comment: Users who have a link to this doc + can view and comment on it. + + invite_only: Users must be explicitly invited to this doc. + + disabled: Value used to indicate that doc sharing is enabled only within + team. + UpdateFileRequestDeadline: + type: object + properties: + .tag: + title: Choice of UpdateFileRequestDeadline + type: string + enum: + - no_update + - update + - other + update: + $ref: '#/components/schemas/FileRequestDeadline' + description: | + no_update: Do not change the file request's deadline. + update: If :val:`null`, the file request's deadline is cleared. + other: None + UpdatePropertiesError: + type: object + properties: + path: + $ref: '#/components/schemas/LookupError' + .tag: + title: Choice of UpdatePropertiesError + type: string + enum: + - template_not_found + - restricted_content + - other + - path + - unsupported_folder + - property_field_too_large + - does_not_fit_template + - property_group_lookup + property_group_lookup: + $ref: '#/components/schemas/LookUpPropertiesError' + template_not_found: + type: string + description: Template does not exist for the given identifier. + description: > + template_not_found: Template does not exist for the given identifier. + + restricted_content: You do not have permission to modify this template. + + other: None + + path: None + + unsupported_folder: This folder cannot be tagged. Tagging folders is not + supported for team-owned templates. + + property_field_too_large: One or more of the supplied property field + values is too large. + + does_not_fit_template: One or more of the supplied property fields does + not conform to the template specifications. + + property_group_lookup: None + RemovePropertiesArg: + type: object + properties: + path: + type: string + description: A unique identifier for the file or folder. + property_template_ids: + type: array + description: >- + A list of identifiers for a template created by + :route:`templates/add_for_user` or :route:`templates/add_for_team`. + items: + type: string + description: > + path: A unique identifier for the file or folder. + + property_template_ids: A list of identifiers for a template created by + :route:`templates/add_for_user` or :route:`templates/add_for_team`. + UpdateFolderMemberArg: + type: object + properties: + member: + $ref: '#/components/schemas/MemberSelector' + access_level: + $ref: '#/components/schemas/AccessLevel' + shared_folder_id: + type: string + description: The ID for the shared folder. + description: > + shared_folder_id: The ID for the shared folder. + + member: The member of the shared folder to update. Only the + :field:`MemberSelector.dropbox_id` may be set at this time. + + access_level: The new access level for :field:`member`. + :field:`AccessLevel.owner` is disallowed. + CreateSharedLinkWithSettingsError: + type: object + properties: + path: + $ref: '#/components/schemas/LookupError' + .tag: + title: Choice of CreateSharedLinkWithSettingsError + type: string + enum: + - path + - email_not_verified + - shared_link_already_exists + - settings_error + - access_denied + settings_error: + $ref: '#/components/schemas/SharedLinkSettingsError' + description: > + path: None + + email_not_verified: User's email should be verified. + + shared_link_already_exists: The shared link already exists. You can call + :route:`list_shared_links` to get the existing link. + + settings_error: There is an error with the given settings. + + access_denied: Access to the requested path is forbidden. + SearchMode: + type: object + properties: + .tag: + title: Choice of SearchMode + type: string + enum: + - filename + - filename_and_content + - deleted_filename + description: > + filename: Search file and folder names. + + filename_and_content: Search file and folder names as well as file + contents. + + deleted_filename: Search for deleted file and folder names. + SharedFileMetadata: + type: object + properties: + owner_team: + $ref: '#/components/schemas/Team' + parent_shared_folder_id: + type: string + description: >- + The ID of the parent shared folder. This field is present only if + the file is contained within a shared folder. + name: + type: string + description: The name of this file. + time_invited: + type: string + description: >- + Timestamp indicating when the current user was invited to this + shared file. If the user was not invited to the shared file, the + timestamp will indicate when the user was invited to the parent + shared folder. This value may be absent. + preview_url: + type: string + description: URL for displaying a web preview of the shared file. + access_type: + $ref: '#/components/schemas/AccessLevel' + owner_display_names: + type: array + description: >- + The display names of the users that own the file. If the file is + part of a team folder, the display names of the team admins are also + included. Absent if the owner display names cannot be fetched. + items: + type: string + path_display: + type: string + description: >- + The cased path to be used for display purposes only. In rare + instances the casing will not correctly match the user's filesystem, + but this behavior will match the path provided in the Core API v1. + Absent for unmounted files. + expected_link_metadata: + $ref: '#/components/schemas/ExpectedSharedContentLinkMetadata' + path_lower: + type: string + description: The lower-case full path of this file. Absent for unmounted files. + policy: + $ref: '#/components/schemas/FolderPolicy' + permissions: + type: array + description: >- + The sharing permissions that requesting user has on this file. This + corresponds to the entries given in + :field:`GetFileMetadataBatchArg.actions` or + :field:`GetFileMetadataArg.actions`. + items: + $ref: '#/components/schemas/FilePermission' + id: + type: string + description: The ID of the file. + link_metadata: + $ref: '#/components/schemas/SharedContentLinkMetadata' + description: > + Properties of the shared file. + + id: The ID of the file. + + name: The name of this file. + + policy: Policies governing this shared file. + + preview_url: URL for displaying a web preview of the shared file. + + access_type: The current user's access level for this shared file. + + expected_link_metadata: The expected metadata of the link associated for + the file when it is first shared. Absent if the link already exists. + This is for an unreleased feature so it may not be returned yet. + + link_metadata: The metadata of the link associated for the file. This is + for an unreleased feature so it may not be returned yet. + + owner_display_names: The display names of the users that own the file. + If the file is part of a team folder, the display names of the team + admins are also included. Absent if the owner display names cannot be + fetched. + + owner_team: The team that owns the file. This field is not present if + the file is not owned by a team. + + parent_shared_folder_id: The ID of the parent shared folder. This field + is present only if the file is contained within a shared folder. + + path_display: The cased path to be used for display purposes only. In + rare instances the casing will not correctly match the user's + filesystem, but this behavior will match the path provided in the Core + API v1. Absent for unmounted files. + + path_lower: The lower-case full path of this file. Absent for unmounted + files. + + permissions: The sharing permissions that requesting user has on this + file. This corresponds to the entries given in + :field:`GetFileMetadataBatchArg.actions` or + :field:`GetFileMetadataArg.actions`. + + time_invited: Timestamp indicating when the current user was invited to + this shared file. If the user was not invited to the shared file, the + timestamp will indicate when the user was invited to the parent shared + folder. This value may be absent. + ThumbnailMode: + type: object + properties: + .tag: + title: Choice of ThumbnailMode + type: string + enum: + - strict + - bestfit + - fitone_bestfit + description: > + strict: Scale down the image to fit within the given size. + + bestfit: Scale down the image to fit within the given size or its + transpose. + + fitone_bestfit: Scale down the image to completely cover the given size + or its transpose. + AddFileMemberArgs: + type: object + 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: + $ref: '#/components/schemas/MemberSelector' + 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: + $ref: '#/components/schemas/AccessLevel' + file: + type: string + description: File to which to add members. + custom_message: + type: string + description: Message to send to added members in their invitation. + 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. + ShareFolderJobStatus: + type: object + properties: + failed: + $ref: '#/components/schemas/ShareFolderError' + .tag: + title: Choice of ShareFolderJobStatus + type: string + enum: + - in_progress + - complete + - failed + complete: + $ref: '#/components/schemas/SharedFolderMetadata' + description: > + in_progress: The asynchronous job is still in progress. + + complete: The share job has finished. The value is the metadata for the + folder. + + failed: None + RelocationPath: + type: object + properties: + from_path: + type: string + description: Path in the user's Dropbox to be copied or moved. + to_path: + type: string + description: Path in the user's Dropbox that is the destination. + description: | + from_path: Path in the user's Dropbox to be copied or moved. + to_path: Path in the user's Dropbox that is the destination. + SharedFolderJoinPolicy: + type: object + properties: + .tag: + title: Choice of SharedFolderJoinPolicy + type: string + enum: + - from_team_only + - from_anyone + - other + description: > + Policy governing which shared folders a team member can join. + + from_team_only: Team members can only join folders shared by teammates. + + from_anyone: Team members can join any shared folder, including those + shared by users outside the team. + + other: None + IndividualSpaceAllocation: + type: object + properties: + allocated: + type: number + description: The total space allocated to the user's account (bytes). + description: | + allocated: The total space allocated to the user's account (bytes). + ListRevisionsArg: + type: object + properties: + path: + type: string + description: The path to the file you want to see the revisions of. + limit: + type: number + description: The maximum number of revision entries returned. + mode: + $ref: '#/components/schemas/ListRevisionsMode' + description: > + path: The path to the file you want to see the revisions of. + + mode: Determines the behavior of the API in listing the revisions for a + given file path or id. + + limit: The maximum number of revision entries returned. + CommitInfoWithProperties: + type: object + properties: + autorename: + type: boolean + description: >- + If there's a conflict, as determined by :field:`mode`, have the + Dropbox server try to autorename the file to avoid conflict. + mute: + type: boolean + description: >- + Normally, users are made aware of any file modifications in their + Dropbox account via notifications in the client software. If + :val:`true`, this tells the clients that this modification shouldn't + result in a user notification. + client_modified: + type: string + description: >- + The value to store as the :field:`client_modified` timestamp. + Dropbox automatically records the time at which the file was written + to the Dropbox servers. It can also record an additional timestamp, + provided by Dropbox desktop clients, mobile clients, and API apps of + when the file was actually created or modified. + mode: + $ref: '#/components/schemas/WriteMode' + path: + type: string + description: Path in the user's Dropbox to save the file. + property_groups: + type: array + description: List of custom properties to add to file. + items: + $ref: '#/components/schemas/PropertyGroup' + description: > + path: Path in the user's Dropbox to save the file. + + mode: Selects what to do if the file already exists. + + autorename: If there's a conflict, as determined by :field:`mode`, have + the Dropbox server try to autorename the file to avoid conflict. + + client_modified: The value to store as the :field:`client_modified` + timestamp. Dropbox automatically records the time at which the file was + written to the Dropbox servers. It can also record an additional + timestamp, provided by Dropbox desktop clients, mobile clients, and API + apps of when the file was actually created or modified. + + mute: Normally, users are made aware of any file modifications in their + Dropbox account via notifications in the client software. If + :val:`true`, this tells the clients that this modification shouldn't + result in a user notification. + + property_groups: List of custom properties to add to file. + ListUsersOnPaperDocArgs: + type: object + properties: + limit: + type: number + description: >- + Size limit per batch. The maximum number of users that can be + retrieved per batch is 1000. Higher value results in invalid + arguments error. + doc_id: + type: string + description: The Paper doc ID. + filter_by: + $ref: '#/components/schemas/UserOnPaperDocFilter' + description: > + doc_id: The Paper doc ID. + + limit: Size limit per batch. The maximum number of users that can be + retrieved per batch is 1000. Higher value results in invalid arguments + error. + + filter_by: Specify this attribute if you want to obtain users that have + already accessed the Paper doc. + ListFilesArg: + type: object + properties: + limit: + type: number + description: >- + Number of files to return max per query. Defaults to 100 if no limit + is specified. + actions: + type: array + description: >- + A list of `FileAction`s corresponding to `FilePermission`s that + should appear in the response's + :field:`SharedFileMetadata.permissions` field describing the actions + the authenticated user can perform on the file. + items: + $ref: '#/components/schemas/FileAction' + description: > + Arguments for :route:`list_received_files`. + + limit: Number of files to return max per query. Defaults to 100 if no + limit is specified. + + actions: A list of `FileAction`s corresponding to `FilePermission`s that + should appear in the response's :field:`SharedFileMetadata.permissions` + field describing the actions the authenticated user can perform on the + file. + ListFoldersContinueArg: + type: object + properties: + cursor: + type: string + description: >- + The cursor returned by the previous API call specified in the + endpoint description. + description: > + cursor: The cursor returned by the previous API call specified in the + endpoint description. + ListPaperDocsSortBy: + type: object + properties: + .tag: + title: Choice of ListPaperDocsSortBy + type: string + enum: + - accessed + - modified + - created + - other + description: | + accessed: Sorts the Paper docs by the time they were last accessed. + modified: Sorts the Paper docs by the time they were last modified. + created: Sorts the Paper docs by the creation time. + other: None + FolderPolicy: + type: object + properties: + viewer_info_policy: + $ref: '#/components/schemas/ViewerInfoPolicy' + resolved_member_policy: + $ref: '#/components/schemas/MemberPolicy' + acl_update_policy: + $ref: '#/components/schemas/AclUpdatePolicy' + shared_link_policy: + $ref: '#/components/schemas/SharedLinkPolicy' + member_policy: + $ref: '#/components/schemas/MemberPolicy' + description: > + A set of policies governing membership and privileges for a shared + folder. + + acl_update_policy: Who can add and remove members from this shared + folder. + + shared_link_policy: Who links can be shared with. + + member_policy: Who can be a member of this shared folder, as set on the + folder itself. The effective policy may differ from this value if the + team-wide policy is more restrictive. Present only if the folder is + owned by a team. + + resolved_member_policy: Who can be a member of this shared folder, + taking into account both the folder and the team-wide policy. This value + may differ from that of member_policy if the team-wide policy is more + restrictive than the folder policy. Present only if the folder is owned + by a team. + + viewer_info_policy: Who can enable/disable viewer info for this shared + folder. + GetCopyReferenceArg: + type: object + properties: + path: + type: string + description: The path to the file or folder you want to get a copy reference to. + description: > + path: The path to the file or folder you want to get a copy reference + to. + CreateFolderBatchArg: + type: object + properties: + paths: + type: array + description: >- + List of paths to be created in the user's Dropbox. Duplicate path + arguments in the batch are considered only once. + items: + type: string + force_async: + type: boolean + description: Whether to force the create to happen asynchronously. + autorename: + type: boolean + description: >- + If there's a conflict, have the Dropbox server try to autorename the + folder to avoid the conflict. + description: > + paths: List of paths to be created in the user's Dropbox. Duplicate path + arguments in the batch are considered only once. + + autorename: If there's a conflict, have the Dropbox server try to + autorename the folder to avoid the conflict. + + force_async: Whether to force the create to happen asynchronously. + SharedLinkSettingsError: + type: object + properties: + .tag: + title: Choice of SharedLinkSettingsError + type: string + enum: + - invalid_settings + - not_authorized + description: > + invalid_settings: The given settings are invalid (for example, all + attributes of the :type:`SharedLinkSettings` are empty, the requested + visibility is :field:`RequestedVisibility.password` but the + :field:`SharedLinkSettings.link_password` is missing, + :field:`SharedLinkSettings.expires` is set to the past, etc.). + + not_authorized: User is not allowed to modify the settings of this link. + Note that basic users can only set :field:`RequestedVisibility.public` + as the :field:`SharedLinkSettings.requested_visibility` and cannot set + :field:`SharedLinkSettings.expires`. + TeamMemberInfo: + type: object + properties: + member_id: + type: string + description: >- + ID of user as a member of a team. This field will only be present if + the member is in the same team as current user. + display_name: + type: string + description: The display name of the user. + team_info: + $ref: '#/components/schemas/Team' + description: > + Information about a team member. + + team_info: Information about the member's team. + + display_name: The display name of the user. + + member_id: ID of user as a member of a team. This field will only be + present if the member is in the same team as current user. + SaveCopyReferenceError: + type: object + properties: + path: + $ref: '#/components/schemas/WriteError' + .tag: + title: Choice of SaveCopyReferenceError + type: string + enum: + - path + - invalid_copy_reference + - no_permission + - not_found + - too_many_files + - other + description: > + path: None + + invalid_copy_reference: The copy reference is invalid. + + no_permission: You don't have permission to save the given copy + reference. Please make sure this app is same app which created the copy + reference and the source user is still linked to the app. + + not_found: The file referenced by the copy reference cannot be found. + + too_many_files: The operation would involve more than 10,000 files and + folders. + + other: None + ListFoldersArgs: + type: object + properties: + limit: + type: number + description: The maximum number of results to return per request. + actions: + type: array + description: >- + A list of `FolderAction`s corresponding to `FolderPermission`s that + should appear in the response's + :field:`SharedFolderMetadata.permissions` field describing the + actions the authenticated user can perform on the folder. + items: + $ref: '#/components/schemas/FolderAction' + description: > + limit: The maximum number of results to return per request. + + actions: A list of `FolderAction`s corresponding to `FolderPermission`s + that should appear in the response's + :field:`SharedFolderMetadata.permissions` field describing the actions + the authenticated user can perform on the folder. + FileMemberRemoveActionResult: + type: object + properties: + member_error: + $ref: '#/components/schemas/FileMemberActionError' + .tag: + title: Choice of FileMemberRemoveActionResult + type: string + enum: + - success + - member_error + - other + success: + $ref: '#/components/schemas/MemberAccessLevelResult' + description: | + success: Member was successfully removed from this file. + member_error: User was not able to remove this member. + other: None + SharedLinkPolicy: + type: object + properties: + .tag: + title: Choice of SharedLinkPolicy + type: string + enum: + - anyone + - team + - members + - other + description: | + Who can view shared links in this folder. + anyone: Links can be shared with anyone. + team: Links can be shared with anyone on the same team as the owner. + members: Links can only be shared among members of the shared folder. + other: None + ListFileMembersBatchResult: + type: object + properties: + result: + $ref: '#/components/schemas/ListFileMembersIndividualResult' + file: + type: string + description: This is the input file identifier, whether an ID or a path. + description: | + Per-file result for :route:`list_file_members/batch`. + file: This is the input file identifier, whether an ID or a path. + result: The result for this particular file. + AudienceExceptionContentInfo: + type: object + properties: + name: + type: string + description: The name of the content, which is either a file or a folder. + description: > + Information about the content that has a link audience different than + that of this folder. + + name: The name of the content, which is either a file or a folder. + ListUsersOnFolderResponse: + type: object + properties: + cursor: + $ref: '#/components/schemas/Cursor' + has_more: + type: boolean + description: >- + Will be set to True if a subsequent call with the provided cursor to + :route:`docs/folder_users/list/continue` returns immediately with + some results. If set to False please allow some delay before making + another call to :route:`docs/folder_users/list/continue`. + users: + type: array + description: List of users that are invited on the Paper folder. + items: + $ref: '#/components/schemas/UserInfo' + invitees: + type: array + description: List of email addresses that are invited on the Paper folder. + items: + $ref: '#/components/schemas/InviteeInfo' + description: > + invitees: List of email addresses that are invited on the Paper folder. + + users: List of users that are invited on the Paper folder. + + cursor: Pass the cursor into :route:`docs/folder_users/list/continue` to + paginate through all users. The cursor preserves all properties as + specified in the original call to :route:`docs/folder_users/list`. + + has_more: Will be set to True if a subsequent call with the provided + cursor to :route:`docs/folder_users/list/continue` returns immediately + with some results. If set to False please allow some delay before making + another call to :route:`docs/folder_users/list/continue`. + MountFolderError: + type: object + properties: + access_error: + $ref: '#/components/schemas/SharedFolderAccessError' + insufficient_quota: + $ref: '#/components/schemas/InsufficientQuotaAmounts' + .tag: + title: Choice of MountFolderError + type: string + enum: + - access_error + - inside_shared_folder + - insufficient_quota + - already_mounted + - no_permission + - not_mountable + - other + description: > + access_error: None + + inside_shared_folder: Mounting would cause a shared folder to be inside + another, which is disallowed. + + insufficient_quota: The current user does not have enough space to mount + the shared folder. + + already_mounted: The shared folder is already mounted. + + no_permission: The current user does not have permission to perform this + action. + + not_mountable: The shared folder is not mountable. One example where + this can occur is when the shared folder belongs within a team folder in + the user's Dropbox. + + other: None + GetSharedLinkFileError: + type: object + properties: + .tag: + title: Choice of GetSharedLinkFileError + type: string + enum: + - shared_link_not_found + - shared_link_access_denied + - unsupported_link_type + - other + - shared_link_is_directory + description: > + shared_link_not_found: The shared link wasn't found. + + shared_link_access_denied: The caller is not allowed to access this + shared link. + + unsupported_link_type: This type of link is not supported. + + other: None + + shared_link_is_directory: Directories cannot be retrieved by this + endpoint. + DownloadError: + type: object + properties: + path: + $ref: '#/components/schemas/LookupError' + .tag: + title: Choice of DownloadError + type: string + enum: + - path + - other + description: | + path: None + other: None + RefPaperDoc: + type: object + properties: + doc_id: + type: string + description: The Paper doc ID. + description: | + doc_id: The Paper doc ID. + CommitInfo: + type: object + properties: + autorename: + type: boolean + description: >- + If there's a conflict, as determined by :field:`mode`, have the + Dropbox server try to autorename the file to avoid conflict. + mute: + type: boolean + description: >- + Normally, users are made aware of any file modifications in their + Dropbox account via notifications in the client software. If + :val:`true`, this tells the clients that this modification shouldn't + result in a user notification. + client_modified: + type: string + description: >- + The value to store as the :field:`client_modified` timestamp. + Dropbox automatically records the time at which the file was written + to the Dropbox servers. It can also record an additional timestamp, + provided by Dropbox desktop clients, mobile clients, and API apps of + when the file was actually created or modified. + mode: + $ref: '#/components/schemas/WriteMode' + path: + type: string + description: Path in the user's Dropbox to save the file. + property_groups: + type: array + description: List of custom properties to add to file. + items: + $ref: '#/components/schemas/PropertyGroup' + description: > + path: Path in the user's Dropbox to save the file. + + mode: Selects what to do if the file already exists. + + autorename: If there's a conflict, as determined by :field:`mode`, have + the Dropbox server try to autorename the file to avoid conflict. + + client_modified: The value to store as the :field:`client_modified` + timestamp. Dropbox automatically records the time at which the file was + written to the Dropbox servers. It can also record an additional + timestamp, provided by Dropbox desktop clients, mobile clients, and API + apps of when the file was actually created or modified. + + mute: Normally, users are made aware of any file modifications in their + Dropbox account via notifications in the client software. If + :val:`true`, this tells the clients that this modification shouldn't + result in a user notification. + + property_groups: List of custom properties to add to file. + UserMembershipInfo: + type: object + properties: + initials: + type: string + description: Never set. + permissions: + type: array + description: >- + The permissions that requesting user has on this member. The set of + permissions corresponds to the MemberActions in the request. + items: + $ref: '#/components/schemas/MemberPermission' + user: + $ref: '#/components/schemas/UserInfo' + access_type: + $ref: '#/components/schemas/AccessLevel' + is_inherited: + type: boolean + description: True if the member has access from a parent folder. + description: > + The information about a user member of the shared content. + + access_type: The access type for this member. + + user: The account information for the membership user. + + permissions: The permissions that requesting user has on this member. + The set of permissions corresponds to the MemberActions in the request. + + initials: Never set. + + is_inherited: True if the member has access from a parent folder. + SpaceAllocation: + type: object + properties: + .tag: + title: Choice of SpaceAllocation + type: string + enum: + - individual + - team + - other + individual: + $ref: '#/components/schemas/IndividualSpaceAllocation' + team: + $ref: '#/components/schemas/TeamSpaceAllocation' + description: > + Space is allocated differently based on the type of account. + + individual: The user's space allocation applies only to their individual + account. + + team: The user shares space with other members of their team. + + other: None + PaperDocSharingPolicy: + type: object + properties: + doc_id: + type: string + description: The Paper doc ID. + sharing_policy: + $ref: '#/components/schemas/SharingPolicy' + description: | + doc_id: The Paper doc ID. + sharing_policy: The default sharing policy to be set for the Paper doc. + InsufficientQuotaAmounts: + type: object + properties: + space_shortage: + type: number + description: The amount of extra space needed to add the item. + space_left: + type: number + description: >- + The amount of space left in the user's Dropbox, less than + space_needed. + space_needed: + type: number + description: The amount of space needed to add the item (the size of the item). + description: > + space_needed: The amount of space needed to add the item (the size of + the item). + + space_shortage: The amount of extra space needed to add the item. + + space_left: The amount of space left in the user's Dropbox, less than + space_needed. + AccountType: + type: object + properties: + .tag: + title: Choice of AccountType + type: string + enum: + - basic + - pro + - business + description: | + What type of account this user has. + basic: The basic account type. + pro: The Dropbox Pro account type. + business: The Dropbox Business account type. + GpsCoordinates: + type: object + properties: + latitude: + type: number + description: Latitude of the GPS coordinates. + longitude: + type: number + description: Longitude of the GPS coordinates. + description: | + GPS coordinates for a photo or video. + latitude: Latitude of the GPS coordinates. + longitude: Longitude of the GPS coordinates. + FullTeam: + type: object + properties: + sharing_policies: + $ref: '#/components/schemas/TeamSharingPolicies' + office_addin_policy: + $ref: '#/components/schemas/OfficeAddInPolicy' + id: + type: string + description: The team's unique ID. + name: + type: string + description: The name of the team. + description: | + Detailed information about a team. + id: The team's unique ID. + name: The name of the team. + sharing_policies: Team policies governing sharing. + office_addin_policy: Team policy governing the use of the Office Add-In. + ListFolderMembersContinueArg: + type: object + properties: + cursor: + type: string + description: >- + The cursor returned by your last call to + :route:`list_folder_members` or + :route:`list_folder_members/continue`. + description: > + cursor: The cursor returned by your last call to + :route:`list_folder_members` or :route:`list_folder_members/continue`. + ListUsersOnPaperDocContinueArgs: + type: object + properties: + cursor: + type: string + description: >- + The cursor obtained from :route:`docs/users/list` or + :route:`docs/users/list/continue`. Allows for pagination. + doc_id: + type: string + description: The Paper doc ID. + description: > + doc_id: The Paper doc ID. + + cursor: The cursor obtained from :route:`docs/users/list` or + :route:`docs/users/list/continue`. Allows for pagination. + ListFilesContinueError: + type: object + properties: + .tag: + title: Choice of ListFilesContinueError + type: string + enum: + - user_error + - invalid_cursor + - other + user_error: + $ref: '#/components/schemas/SharingUserError' + description: | + Error results for :route:`list_received_files/continue`. + user_error: User account had a problem. + invalid_cursor: :field:`ListFilesContinueArg.cursor` is invalid. + other: None + ListFolderContinueArg: + type: object + properties: + cursor: + type: string + description: >- + The cursor returned by your last call to :route:`list_folder` or + :route:`list_folder/continue`. + description: > + cursor: The cursor returned by your last call to :route:`list_folder` or + :route:`list_folder/continue`. + InviteeInfo: + type: object + properties: + .tag: + title: Choice of InviteeInfo + type: string + enum: + - email + - other + email: + type: string + description: E-mail address of invited user. + description: | + Information about the recipient of a shared content invitation. + email: E-mail address of invited user. + other: None + RemoveMemberJobStatus: + type: object + properties: + failed: + $ref: '#/components/schemas/RemoveFolderMemberError' + .tag: + title: Choice of RemoveMemberJobStatus + type: string + enum: + - in_progress + - complete + - failed + complete: + $ref: '#/components/schemas/MemberAccessLevelResult' + description: > + in_progress: The asynchronous job is still in progress. + + complete: Removing the folder member has finished. The value is + information about whether the member has another form of access. + + failed: None + TeamSpaceAllocation: + type: object + properties: + allocated: + type: number + description: The total space allocated to the user's team (bytes). + used: + type: number + description: The total space currently used by the user's team (bytes). + user_within_team_space_limit_type: + $ref: '#/components/schemas/MemberSpaceLimitType' + user_within_team_space_allocated: + type: number + description: >- + The total space allocated to the user within its team allocated + space (0 means that no restriction is imposed on the user's quota + within its team). + description: > + used: The total space currently used by the user's team (bytes). + + allocated: The total space allocated to the user's team (bytes). + + user_within_team_space_allocated: The total space allocated to the user + within its team allocated space (0 means that no restriction is imposed + on the user's quota within its team). + + user_within_team_space_limit_type: The type of the space limit imposed + on the team member (off, alert_only, stop_sync). + FolderSharingInfo: + type: object + properties: + read_only: + type: boolean + description: True if the file or folder is inside a read-only shared folder. + parent_shared_folder_id: + type: string + description: Set if the folder is contained by a shared folder. + traverse_only: + type: boolean + description: >- + Specifies that the folder can only be traversed and the user can + only see a limited subset of the contents of this folder because + they don't have read access to this folder. They do, however, have + access to some sub folder. + shared_folder_id: + type: string + description: >- + If this folder is a shared folder mount point, the ID of the shared + folder mounted at this location. + no_access: + type: boolean + description: Specifies that the folder cannot be accessed by the user. + description: > + Sharing info for a folder which is contained in a shared folder or is a + shared folder mount point. + + read_only: True if the file or folder is inside a read-only shared + folder. + + parent_shared_folder_id: Set if the folder is contained by a shared + folder. + + shared_folder_id: If this folder is a shared folder mount point, the ID + of the shared folder mounted at this location. + + traverse_only: Specifies that the folder can only be traversed and the + user can only see a limited subset of the contents of this folder + because they don't have read access to this folder. They do, however, + have access to some sub folder. + + no_access: Specifies that the folder cannot be accessed by the user. + ListFileMembersArg: + type: object + properties: + include_inherited: + type: boolean + description: >- + Whether to include members who only have access from a parent shared + folder. + limit: + type: number + description: >- + Number of members to return max per query. Defaults to 100 if no + limit is specified. + actions: + type: array + description: The actions for which to return permissions on a member. + items: + $ref: '#/components/schemas/MemberAction' + file: + type: string + description: The file for which you want to see members. + description: > + Arguments for :route:`list_file_members`. + + file: The file for which you want to see members. + + actions: The actions for which to return permissions on a member. + + include_inherited: Whether to include members who only have access from + a parent shared folder. + + limit: Number of members to return max per query. Defaults to 100 if no + limit is specified. + RemovePropertiesError: + type: object + properties: + path: + $ref: '#/components/schemas/LookupError' + .tag: + title: Choice of RemovePropertiesError + type: string + enum: + - template_not_found + - restricted_content + - other + - path + - unsupported_folder + - property_group_lookup + property_group_lookup: + $ref: '#/components/schemas/LookUpPropertiesError' + template_not_found: + type: string + description: Template does not exist for the given identifier. + description: > + template_not_found: Template does not exist for the given identifier. + + restricted_content: You do not have permission to modify this template. + + other: None + + path: None + + unsupported_folder: This folder cannot be tagged. Tagging folders is not + supported for team-owned templates. + + property_group_lookup: None + LinkSettings: + type: object + properties: + access_level: + $ref: '#/components/schemas/AccessLevel' + audience: + $ref: '#/components/schemas/LinkAudience' + password: + $ref: '#/components/schemas/LinkPassword' + expiry: + $ref: '#/components/schemas/LinkExpiry' + description: > + Settings that apply to a link. + + access_level: The access level on the link for this file. Currently, it + only accepts 'viewer' and 'viewer_no_comment'. + + audience: The type of audience on the link for this file. + + expiry: An expiry timestamp to set on a link. + + password: The password for the link. + GetTemporaryLinkResult: + type: object + properties: + link: + type: string + description: The temporary link which can be used to stream content the file. + metadata: + $ref: '#/components/schemas/FileMetadata' + description: | + metadata: Metadata of the file. + link: The temporary link which can be used to stream content the file. + ListPaperDocsContinueArgs: + type: object + properties: + cursor: + type: string + description: >- + The cursor obtained from :route:`docs/list` or + :route:`docs/list/continue`. Allows for pagination. + description: > + cursor: The cursor obtained from :route:`docs/list` or + :route:`docs/list/continue`. Allows for pagination. + TeamSharingPolicies: + type: object + properties: + shared_folder_join_policy: + $ref: '#/components/schemas/SharedFolderJoinPolicy' + shared_folder_member_policy: + $ref: '#/components/schemas/SharedFolderMemberPolicy' + shared_link_create_policy: + $ref: '#/components/schemas/SharedLinkCreatePolicy' + description: > + Policies governing sharing within and outside of the team. + + shared_folder_member_policy: Who can join folders shared by team + members. + + shared_folder_join_policy: Which shared folders team members can join. + + shared_link_create_policy: Who can view shared links owned by team + members. + FolderAction: + type: object + properties: + .tag: + title: Choice of FolderAction + type: string + enum: + - change_options + - disable_viewer_info + - edit_contents + - enable_viewer_info + - invite_editor + - invite_viewer + - invite_viewer_no_comment + - relinquish_membership + - unmount + - unshare + - leave_a_copy + - share_link + - create_link + - set_access_inheritance + - other + description: > + Actions that may be taken on shared folders. + + change_options: Change folder options, such as who can be invited to + join the folder. + + disable_viewer_info: Disable viewer information for this folder. + + edit_contents: Change or edit contents of the folder. + + enable_viewer_info: Enable viewer information on the folder. + + invite_editor: Invite a user or group to join the folder with read and + write permission. + + invite_viewer: Invite a user or group to join the folder with read + permission. + + invite_viewer_no_comment: Invite a user or group to join the folder with + read permission but no comment permissions. + + relinquish_membership: Relinquish one's own membership in the folder. + + unmount: Unmount the folder. + + unshare: Stop sharing this folder. + + leave_a_copy: Keep a copy of the contents upon leaving or being kicked + from the folder. + + share_link: Use create_link instead. + + create_link: Create a shared link for folder. + + set_access_inheritance: Set whether the folder inherits permissions from + its parent. + + other: None + RequestedVisibility: + type: object + properties: + .tag: + title: Choice of RequestedVisibility + type: string + enum: + - public + - team_only + - password + description: > + The access permission that can be requested by the caller for the shared + link. Note that the final resolved visibility of the shared link takes + into account other aspects, such as team and shared folder settings. + Check the :type:`ResolvedVisibility` for more info on the possible + resolved visibility values of shared links. + + public: Anyone who has received the link can access it. No login + required. + + team_only: Only members of the same team can access the link. Login is + required. + + password: A link-specific password is required to access the link. Login + is not required. + RelocationResult: + type: object + properties: + metadata: + $ref: '#/components/schemas/Metadata' + description: | + metadata: Metadata of the relocated object. + ViewerInfoPolicy: + type: object + properties: + .tag: + title: Choice of ViewerInfoPolicy + type: string + enum: + - enabled + - disabled + - other + description: | + enabled: Viewer information is available on this file. + disabled: Viewer information is disabled on this file. + other: None + PaperDocExport: + type: object + properties: + export_format: + $ref: '#/components/schemas/ExportFormat' + doc_id: + type: string + description: The Paper doc ID. + description: | + doc_id: The Paper doc ID. + export_format: None + ShareFolderLaunch: + type: object + properties: + .tag: + title: Choice of ShareFolderLaunch + type: string + enum: + - async_job_id + - complete + async_job_id: + type: string + description: >- + This response indicates that the processing is asynchronous. The + string is an id that can be used to obtain the status of the + asynchronous job. + complete: + $ref: '#/components/schemas/SharedFolderMetadata' + description: > + async_job_id: This response indicates that the processing is + asynchronous. The string is an id that can be used to obtain the status + of the asynchronous job. + + complete: None + ListPaperDocsArgs: + type: object + properties: + sort_by: + $ref: '#/components/schemas/ListPaperDocsSortBy' + sort_order: + $ref: '#/components/schemas/ListPaperDocsSortOrder' + limit: + type: number + description: >- + Size limit per batch. The maximum number of docs that can be + retrieved per batch is 1000. Higher value results in invalid + arguments error. + filter_by: + $ref: '#/components/schemas/ListPaperDocsFilterBy' + description: > + filter_by: Allows user to specify how the Paper docs should be filtered. + + sort_by: Allows user to specify how the Paper docs should be sorted. + + sort_order: Allows user to specify the sort order of the result. + + limit: Size limit per batch. The maximum number of docs that can be + retrieved per batch is 1000. Higher value results in invalid arguments + error. + GetThumbnailBatchResultEntry: + type: object + properties: + failure: + $ref: '#/components/schemas/ThumbnailError' + .tag: + title: Choice of GetThumbnailBatchResultEntry + type: string + enum: + - success + - failure + - other + success: + $ref: '#/components/schemas/GetThumbnailBatchResultData' + description: | + success: None + failure: The result for this file if it was an error. + other: None + UploadSessionLookupError: + type: object + properties: + .tag: + title: Choice of UploadSessionLookupError + type: string + enum: + - not_found + - incorrect_offset + - closed + - not_closed + - too_large + - other + incorrect_offset: + $ref: '#/components/schemas/UploadSessionOffsetError' + description: > + not_found: The upload session ID was not found or has expired. Upload + sessions are valid for 48 hours. + + incorrect_offset: The specified offset was incorrect. See the value for + the correct offset. This error may occur when a previous request was + received and processed successfully but the client did not receive the + response, e.g. due to a network error. + + closed: You are attempting to append data to an upload session that has + alread been closed (i.e. committed). + + not_closed: The session must be closed before calling + upload_session/finish_batch. + + too_large: You can not append to the upload session because the size of + a file should not reach the max file size limit (i.e. 350GB). + + other: None + ListPaperDocsSortOrder: + type: object + properties: + .tag: + title: Choice of ListPaperDocsSortOrder + type: string + enum: + - ascending + - descending + - other + description: | + ascending: Sorts the search result in ascending order. + descending: Sorts the search result in descending order. + other: None + SaveUrlArg: + type: object + properties: + url: + type: string + description: The URL to be saved. + path: + type: string + description: The path in Dropbox where the URL will be saved to. + description: | + path: The path in Dropbox where the URL will be saved to. + url: The URL to be saved. + SearchResult: + type: object + properties: + matches: + type: array + description: A list (possibly empty) of matches for the query. + items: + $ref: '#/components/schemas/SearchMatch' + start: + type: number + description: >- + Used for paging. Value to set the start argument to when calling + :route:`search` to fetch the next page of results. + more: + type: boolean + description: >- + Used for paging. If true, indicates there is another page of results + available that can be fetched by calling :route:`search` again. + description: > + matches: A list (possibly empty) of matches for the query. + + more: Used for paging. If true, indicates there is another page of + results available that can be fetched by calling :route:`search` again. + + start: Used for paging. Value to set the start argument to when calling + :route:`search` to fetch the next page of results. + AddPaperDocUserResult: + type: object + properties: + .tag: + title: Choice of AddPaperDocUserResult + type: string + enum: + - success + - unknown_error + - sharing_outside_team_disabled + - daily_limit_reached + - user_is_owner + - failed_user_data_retrieval + - permission_already_granted + - other + description: > + success: User was successfully added to the Paper doc. + + unknown_error: Something unexpected happened when trying to add the user + to the Paper doc. + + sharing_outside_team_disabled: The Paper doc can be shared only with + team members. + + daily_limit_reached: The daily limit of how many users can be added to + the Paper doc was reached. + + user_is_owner: Owner's permissions cannot be changed. + + failed_user_data_retrieval: User data could not be retrieved. Clients + should retry. + + permission_already_granted: This user already has the correct permission + to the Paper doc. + + other: None + DownloadZipResult: + type: object + properties: + metadata: + $ref: '#/components/schemas/FolderMetadata' + description: | + metadata: None + ListFolderResult: + type: object + properties: + cursor: + type: string + description: >- + Pass the cursor into :route:`list_folder/continue` to see what's + changed in the folder since your previous query. + has_more: + type: boolean + description: >- + If true, then there are more entries available. Pass the cursor to + :route:`list_folder/continue` to retrieve the rest. + entries: + type: array + description: The files and (direct) subfolders in the folder. + items: + $ref: '#/components/schemas/Metadata' + description: > + entries: The files and (direct) subfolders in the folder. + + cursor: Pass the cursor into :route:`list_folder/continue` to see what's + changed in the folder since your previous query. + + has_more: If true, then there are more entries available. Pass the + cursor to :route:`list_folder/continue` to retrieve the rest. + SharedFolderMemberError: + type: object + properties: + .tag: + title: Choice of SharedFolderMemberError + type: string + enum: + - invalid_dropbox_id + - not_a_member + - no_explicit_access + - other + no_explicit_access: + $ref: '#/components/schemas/MemberAccessLevelResult' + description: > + invalid_dropbox_id: The target dropbox_id is invalid. + + not_a_member: The target dropbox_id is not a member of the shared + folder. + + no_explicit_access: The target member only has inherited access to the + shared folder. + + other: None + RevokeSharedLinkError: + type: object + properties: + .tag: + title: Choice of RevokeSharedLinkError + type: string + enum: + - shared_link_not_found + - shared_link_access_denied + - unsupported_link_type + - other + - shared_link_malformed + description: > + shared_link_not_found: The shared link wasn't found. + + shared_link_access_denied: The caller is not allowed to access this + shared link. + + unsupported_link_type: This type of link is not supported. + + other: None + + shared_link_malformed: Shared link is malformed. + WriteMode: + type: object + properties: + .tag: + title: Choice of WriteMode + type: string + enum: + - add + - overwrite + - update + update: + type: string + description: >- + Overwrite if the given "rev" matches the existing file's "rev". The + autorename strategy is to append the string "conflicted copy" to the + file name. For example, "document.txt" might become "document + (conflicted copy).txt" or "document (Panda's conflicted copy).txt". + description: > + Your intent when writing a file to some path. This is used to determine + what constitutes a conflict and what the autorename strategy is. + + In some situations, the conflict behavior is identical: (a) If the + target path doesn't refer to anything, the file is always written; no + conflict. (b) If the target path refers to a folder, it's always a + conflict. (c) If the target path refers to a file with identical + contents, nothing gets written; no conflict. + + The conflict checking differs in the case where there's a file at the + target path with contents different from the contents you're trying to + write. + + add: Do not overwrite an existing file if there is a conflict. The + autorename strategy is to append a number to the file name. For example, + "document.txt" might become "document (2).txt". + + overwrite: Always overwrite the existing file. The autorename strategy + is the same as it is for :field:`add`. + + update: Overwrite if the given "rev" matches the existing file's "rev". + The autorename strategy is to append the string "conflicted copy" to the + file name. For example, "document.txt" might become "document + (conflicted copy).txt" or "document (Panda's conflicted copy).txt". + GroupInfo: + type: object + properties: + group_external_id: + type: string + description: >- + External ID of group. This is an arbitrary ID that an admin can + attach to a group. + is_owner: + type: boolean + description: If the current user is an owner of the group. + member_count: + type: number + description: The number of members in the group. + same_team: + type: boolean + description: If the group is owned by the current user's team. + is_member: + type: boolean + description: If the current user is a member of the group. + group_management_type: + $ref: '#/components/schemas/GroupManagementType' + group_name: + type: string + group_id: + type: string + group_type: + $ref: '#/components/schemas/GroupType' + description: > + The information about a group. Groups is a way to manage a list of + users who need same access permission to the shared folder. + + group_name: None + + group_id: None + + group_management_type: Who is allowed to manage the group. + + group_type: The type of group. + + is_member: If the current user is a member of the group. + + is_owner: If the current user is an owner of the group. + + same_team: If the group is owned by the current user's team. + + group_external_id: External ID of group. This is an arbitrary ID that an + admin can attach to a group. + + member_count: The number of members in the group. + ListSharedLinksError: + type: object + properties: + path: + $ref: '#/components/schemas/LookupError' + .tag: + title: Choice of ListSharedLinksError + type: string + enum: + - path + - reset + - other + description: > + path: None + + reset: Indicates that the cursor has been invalidated. Call + :route:`list_shared_links` to obtain a new cursor. + + other: None + AddTemplateArg: + type: object + properties: + fields: + type: array + description: >- + Definitions of the property fields associated with this template. + There can be up to 32 properties in a single template. + items: + $ref: '#/components/schemas/PropertyFieldTemplate' + name: + type: string + description: >- + Display name for the template. Template names can be up to 256 + bytes. + description: + type: string + description: >- + Description for the template. Template descriptions can be up to + 1024 bytes. + description: > + name: Display name for the template. Template names can be up to 256 + bytes. + + description: Description for the template. Template descriptions can be + up to 1024 bytes. + + fields: Definitions of the property fields associated with this + template. There can be up to 32 properties in a single template. + Cursor: + type: object + properties: + expiration: + type: string + description: >- + Expiration time of :field:`value`. + + Some cursors might have expiration time assigned. This is a UTC + value after which the cursor is no longer valid and the API starts + returning an error. If cursor expires a new one needs to be obtained + and pagination needs to be restarted. Some cursors might be + short-lived some cursors might be long-lived. + + This really depends on the sorting type and order, e.g.: + + 1. on one hand, listing docs created by the user, sorted by the + created time ascending will have undefinite expiration because the + results cannot change while the iteration is happening. This cursor + would be suitable for long term polling. + + 2. on the other hand, listing docs sorted by the last modified time + will have a very short expiration as docs do get modified very often + and the modified time can be changed while the iteration is + happening thus altering the results. + value: + type: string + description: The actual cursor value. + description: > + value: The actual cursor value. + + expiration: Expiration time of :field:`value`. + + Some cursors might have expiration time assigned. This is a UTC value + after which the cursor is no longer valid and the API starts returning + an error. If cursor expires a new one needs to be obtained and + pagination needs to be restarted. Some cursors might be short-lived some + cursors might be long-lived. + + This really depends on the sorting type and order, e.g.: + + 1. on one hand, listing docs created by the user, sorted by the created + time ascending will have undefinite expiration because the results + cannot change while the iteration is happening. This cursor would be + suitable for long term polling. + + 2. on the other hand, listing docs sorted by the last modified time will + have a very short expiration as docs do get modified very often and the + modified time can be changed while the iteration is happening thus + altering the results. + AddTemplateResult: + type: object + properties: + template_id: + type: string + description: >- + An identifier for template added by See + :route:`templates/add_for_user` or :route:`templates/add_for_team`. + description: > + template_id: An identifier for template added by See + :route:`templates/add_for_user` or :route:`templates/add_for_team`. + UnshareFolderError: + type: object + properties: + access_error: + $ref: '#/components/schemas/SharedFolderAccessError' + .tag: + title: Choice of UnshareFolderError + type: string + enum: + - access_error + - team_folder + - no_permission + - too_many_files + - other + description: > + access_error: None + + team_folder: This action cannot be performed on a team shared folder. + + no_permission: The current user does not have permission to perform this + action. + + too_many_files: This shared folder has too many files to be unshared. + + other: None + MemberPermission: + type: object + properties: + action: + $ref: '#/components/schemas/MemberAction' + reason: + $ref: '#/components/schemas/PermissionDeniedReason' + allow: + type: boolean + description: True if the user is allowed to take the action. + 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. + SharingFileAccessError: + type: object + properties: + .tag: + title: Choice of SharingFileAccessError + type: string + enum: + - no_permission + - invalid_file + - is_folder + - inside_public_folder + - inside_osx_package + - other + 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 + SearchMatch: + type: object + properties: + match_type: + $ref: '#/components/schemas/SearchMatchType' + metadata: + $ref: '#/components/schemas/Metadata' + description: | + match_type: The type of the match. + metadata: The metadata for the matched file or folder. + ListFileMembersContinueError: + type: object + properties: + access_error: + $ref: '#/components/schemas/SharingFileAccessError' + .tag: + title: Choice of ListFileMembersContinueError + type: string + enum: + - user_error + - access_error + - invalid_cursor + - other + user_error: + $ref: '#/components/schemas/SharingUserError' + description: | + Error for :route:`list_file_members/continue`. + user_error: None + access_error: None + invalid_cursor: :field:`ListFileMembersContinueArg.cursor` is invalid. + other: None + GetTemporaryLinkArg: + type: object + properties: + path: + type: string + description: The path to the file you want a temporary link to. + description: | + path: The path to the file you want a temporary link to. + GetCopyReferenceError: + type: object + properties: + path: + $ref: '#/components/schemas/LookupError' + .tag: + title: Choice of GetCopyReferenceError + type: string + enum: + - path + - other + description: | + path: None + other: None + AudienceRestrictingSharedFolder: + type: object + properties: + shared_folder_id: + type: string + description: The ID of the shared folder. + audience: + $ref: '#/components/schemas/LinkAudience' + name: + type: string + description: The name of the shared folder. + description: > + Information about the shared folder that prevents the link audience for + this link from being more restrictive. + + shared_folder_id: The ID of the shared folder. + + name: The name of the shared folder. + + audience: The link audience of the shared folder. + GetTemporaryLinkError: + type: object + properties: + path: + $ref: '#/components/schemas/LookupError' + .tag: + title: Choice of GetTemporaryLinkError + type: string + enum: + - path + - other + description: | + path: None + other: None + PollArg: + type: object + properties: + async_job_id: + type: string + description: >- + Id of the asynchronous job. This is the value of a response returned + from the method that launched the job. + description: > + Arguments for methods that poll the status of an asynchronous job. + + async_job_id: Id of the asynchronous job. This is the value of a + response returned from the method that launched the job. + UserInfo: + type: object + properties: + email: + type: string + description: Email address of user. + team_member_id: + type: string + description: >- + The team member ID of the shared folder member. Only present if + :field:`same_team` is true. + display_name: + type: string + description: The display name of the user. + account_id: + type: string + description: The account ID of the user. + same_team: + type: boolean + description: If the user is in the same team as current user. + description: > + Basic information about a user. Use :route:`users.get_account` and + :route:`users.get_account_batch` to obtain more detailed information. + + account_id: The account ID of the user. + + email: Email address of user. + + display_name: The display name of the user. + + same_team: If the user is in the same team as current user. + + team_member_id: The team member ID of the shared folder member. Only + present if :field:`same_team` is true. + UploadErrorWithProperties: + type: object + properties: + properties_error: + $ref: '#/components/schemas/InvalidPropertyGroupError' + path: + $ref: '#/components/schemas/UploadWriteFailed' + .tag: + title: Choice of UploadErrorWithProperties + type: string + enum: + - path + - properties_error + - other + description: > + path: Unable to save the uploaded contents to a file. + + properties_error: The supplied property group is invalid. The file has + uploaded without property groups. + + other: None + AccessLevel: + type: object + properties: + .tag: + title: Choice of AccessLevel + type: string + enum: + - owner + - editor + - viewer + - viewer_no_comment + - other + 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 + ThumbnailFormat: + type: object + properties: + .tag: + title: Choice of ThumbnailFormat + type: string + enum: + - jpeg + - png + description: | + jpeg: None + png: None + CreateSharedLinkArg: + type: object + properties: + path: + type: string + description: The path to share. + pending_upload: + $ref: '#/components/schemas/PendingUploadMode' + short_url: + type: boolean + description: Whether to return a shortened URL. + description: > + path: The path to share. + + short_url: Whether to return a shortened URL. + + pending_upload: If it's okay to share a path that does not yet exist, + set this to either :field:`PendingUploadMode.file` or + :field:`PendingUploadMode.folder` to indicate whether to assume it's a + file or folder. + ShareFolderError: + type: object + properties: + bad_path: + $ref: '#/components/schemas/SharePathError' + .tag: + title: Choice of ShareFolderError + type: string + enum: + - email_unverified + - bad_path + - team_policy_disallows_member_policy + - disallowed_shared_link_policy + - other + - no_permission + description: > + email_unverified: The current user's e-mail address is unverified. + + bad_path: :field:`ShareFolderArg.path` is invalid. + + team_policy_disallows_member_policy: Team policy is more restrictive + than :field:`ShareFolderArg.member_policy`. + + disallowed_shared_link_policy: The current user's account is not allowed + to select the specified :field:`ShareFolderArg.shared_link_policy`. + + other: None + + no_permission: The current user does not have permission to perform this + action. + GetAccountArg: + type: object + properties: + account_id: + type: string + description: A user's account identifier. + description: | + account_id: A user's account identifier. + SymlinkInfo: + type: object + properties: + target: + type: string + description: The target this symlink points to. + description: | + target: The target this symlink points to. + SharingUserError: + type: object + properties: + .tag: + title: Choice of SharingUserError + type: string + enum: + - email_unverified + - other + description: > + User account had a problem preventing this action. + + email_unverified: The current user must verify the account e-mail + address before performing this action. + + other: None + SharedFolderAccessError: + type: object + properties: + .tag: + title: Choice of SharedFolderAccessError + type: string + enum: + - invalid_id + - not_a_member + - email_unverified + - unmounted + - other + description: > + There is an error accessing the shared folder. + + invalid_id: This shared folder ID is invalid. + + not_a_member: The user is not a member of the shared folder thus cannot + access it. + + email_unverified: Never set. + + unmounted: The shared folder is unmounted. + + other: None + FolderSharingPolicyType: + type: object + properties: + .tag: + title: Choice of FolderSharingPolicyType + type: string + enum: + - team + - invite_only + description: > + The sharing policy of a Paper folder. + + + Note: The sharing policy of subfolders is inherited from the root + folder. + + team: Everyone in your team and anyone directly invited can access this + folder. + + invite_only: Only people directly invited can access this folder. + GroupManagementType: + type: object + properties: + .tag: + title: Choice of GroupManagementType + type: string + enum: + - user_managed + - company_managed + - system_managed + - other + description: | + The group type determines how a group is managed. + user_managed: A group which is managed by selected users. + company_managed: A group which is managed by team admins only. + system_managed: A group which is managed automatically by Dropbox. + other: None + AddPaperDocUserMemberResult: + type: object + properties: + member: + $ref: '#/components/schemas/MemberSelector' + result: + $ref: '#/components/schemas/AddPaperDocUserResult' + description: | + Per-member result for :route:`docs/users/add`. + member: One of specified input members. + result: The outcome of the action on this member. + DocLookupError: + type: object + properties: + .tag: + title: Choice of DocLookupError + type: string + enum: + - insufficient_permissions + - other + - doc_not_found + description: > + insufficient_permissions: Your account does not have permissions to + perform this action. + + other: None + + doc_not_found: The required doc was not found. + ListFolderLongpollArg: + type: object + properties: + cursor: + type: string + description: >- + A cursor as returned by :route:`list_folder` or + :route:`list_folder/continue`. Cursors retrieved by setting + :field:`ListFolderArg.include_media_info` to :val:`true` are not + supported. + timeout: + type: number + description: >- + A timeout in seconds. The request will block for at most this length + of time, plus up to 90 seconds of random jitter added to avoid the + thundering herd problem. Care should be taken when using this + parameter, as some network infrastructure does not support long + timeouts. + description: > + cursor: A cursor as returned by :route:`list_folder` or + :route:`list_folder/continue`. Cursors retrieved by setting + :field:`ListFolderArg.include_media_info` to :val:`true` are not + supported. + + timeout: A timeout in seconds. The request will block for at most this + length of time, plus up to 90 seconds of random jitter added to avoid + the thundering herd problem. Care should be taken when using this + parameter, as some network infrastructure does not support long + timeouts. + UploadError: + type: object + properties: + properties_error: + $ref: '#/components/schemas/InvalidPropertyGroupError' + path: + $ref: '#/components/schemas/UploadWriteFailed' + .tag: + title: Choice of UploadError + type: string + enum: + - path + - properties_error + - other + description: > + path: Unable to save the uploaded contents to a file. + + properties_error: The supplied property group is invalid. The file has + uploaded without property groups. + + other: None + PaperDocUpdateArgs: + type: object + properties: + doc_update_policy: + $ref: '#/components/schemas/PaperDocUpdatePolicy' + doc_id: + type: string + description: The Paper doc ID. + import_format: + $ref: '#/components/schemas/ImportFormat' + revision: + type: number + description: >- + The latest doc revision. This value must match the head revision or + an error code will be returned. This is to prevent colliding writes. + description: > + doc_id: The Paper doc ID. + + doc_update_policy: The policy used for the current update call. + + revision: The latest doc revision. This value must match the head + revision or an error code will be returned. This is to prevent colliding + writes. + + import_format: The format of provided data. + GetFileMetadataIndividualResult: + type: object + properties: + access_error: + $ref: '#/components/schemas/SharingFileAccessError' + .tag: + title: Choice of GetFileMetadataIndividualResult + type: string + enum: + - metadata + - access_error + - other + metadata: + $ref: '#/components/schemas/SharedFileMetadata' + description: | + metadata: The result for this file if it was successful. + access_error: The result for this file if it was an error. + other: None + SaveCopyReferenceResult: + type: object + properties: + metadata: + $ref: '#/components/schemas/Metadata' + description: > + metadata: The metadata of the saved file or folder in the user's + Dropbox. + SaveUrlJobStatus: + type: object + properties: + failed: + $ref: '#/components/schemas/SaveUrlError' + .tag: + title: Choice of SaveUrlJobStatus + type: string + enum: + - in_progress + - complete + - failed + complete: + $ref: '#/components/schemas/FileMetadata' + description: | + in_progress: The asynchronous job is still in progress. + complete: Metadata of the file where the URL is saved to. + failed: None + GetMetadataArg: + type: object + properties: + path: + type: string + description: The path of a file or folder on Dropbox. + include_has_explicit_shared_members: + type: boolean + description: >- + If true, the results will include a flag for each file indicating + whether or not that file has any explicit members. + include_property_groups: + $ref: '#/components/schemas/TemplateFilterBase' + include_deleted: + type: boolean + description: >- + If true, :type:`DeletedMetadata` will be returned for deleted file + or folder, otherwise :field:`LookupError.not_found` will be + returned. + include_media_info: + type: boolean + description: >- + If true, :field:`FileMetadata.media_info` is set for photo and + video. + description: > + path: The path of a file or folder on Dropbox. + + include_media_info: If true, :field:`FileMetadata.media_info` is set for + photo and video. + + include_deleted: If true, :type:`DeletedMetadata` will be returned for + deleted file or folder, otherwise :field:`LookupError.not_found` will be + returned. + + include_has_explicit_shared_members: If true, the results will include a + flag for each file indicating whether or not that file has any explicit + members. + + include_property_groups: If set to a valid list of template IDs, + :field:`FileMetadata.property_groups` is set if there exists property + data associated with the file and each of the listed templates. + SharedFolderMemberPolicy: + type: object + properties: + .tag: + title: Choice of SharedFolderMemberPolicy + type: string + enum: + - team + - anyone + - other + description: > + Policy governing who can be a member of a folder shared by a team + member. + + team: Only a teammate can be a member of a folder shared by a team + member. + + anyone: Anyone can be a member of a folder shared by a team member. + + other: None + GetTemplateArg: + type: object + properties: + template_id: + type: string + description: >- + An identifier for template added by route See + :route:`templates/add_for_user` or :route:`templates/add_for_team`. + description: > + template_id: An identifier for template added by route See + :route:`templates/add_for_user` or :route:`templates/add_for_team`. + RestoreError: + type: object + properties: + path_lookup: + $ref: '#/components/schemas/LookupError' + .tag: + title: Choice of RestoreError + type: string + enum: + - path_lookup + - path_write + - invalid_revision + - other + path_write: + $ref: '#/components/schemas/WriteError' + description: > + path_lookup: An error occurs when downloading metadata for the file. + + path_write: An error occurs when trying to restore the file to that + path. + + invalid_revision: The revision is invalid. It may point to a different + file. + + other: None + RelocationBatchResult: + type: object + properties: + entries: + type: array + items: + $ref: '#/components/schemas/RelocationBatchResultData' + description: | + entries: None + FileMemberActionResult: + type: object + properties: + member: + $ref: '#/components/schemas/MemberSelector' + result: + $ref: '#/components/schemas/FileMemberActionIndividualResult' + 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. + ModifySharedLinkSettingsError: + type: object + properties: + .tag: + title: Choice of ModifySharedLinkSettingsError + type: string + enum: + - shared_link_not_found + - shared_link_access_denied + - unsupported_link_type + - other + - settings_error + - email_not_verified + settings_error: + $ref: '#/components/schemas/SharedLinkSettingsError' + description: > + shared_link_not_found: The shared link wasn't found. + + shared_link_access_denied: The caller is not allowed to access this + shared link. + + unsupported_link_type: This type of link is not supported. + + other: None + + settings_error: There is an error with the given settings. + + email_not_verified: The caller's email should be verified. + UpdateFileRequestArgs: + type: object + properties: + open: + type: boolean + description: Whether to set this file request as open or closed. + destination: + type: string + description: >- + The new path of the folder in the Dropbox where uploaded files will + be sent. For apps with the app folder permission, this will be + relative to the app folder. + deadline: + $ref: '#/components/schemas/UpdateFileRequestDeadline' + id: + type: string + description: The ID of the file request to update. + title: + type: string + description: The new title of the file request. Must not be empty. + description: > + Arguments for :route:`update`. + + id: The ID of the file request to update. + + title: The new title of the file request. Must not be empty. + + destination: The new path of the folder in the Dropbox where uploaded + files will be sent. For apps with the app folder permission, this will + be relative to the app folder. + + deadline: The new deadline for the file request. + + open: Whether to set this file request as open or closed. + TokenFromOAuth1Result: + type: object + properties: + oauth2_token: + type: string + description: The OAuth 2.0 token generated from the supplied OAuth 1.0 token. + description: > + oauth2_token: The OAuth 2.0 token generated from the supplied OAuth 1.0 + token. + Folder: + type: object + properties: + id: + type: string + description: Paper folder ID. This ID uniquely identifies the folder. + name: + type: string + description: Paper folder name. + description: | + Data structure representing a Paper folder. + id: Paper folder ID. This ID uniquely identifies the folder. + name: Paper folder name. + RelinquishFolderMembershipArg: + type: object + properties: + shared_folder_id: + type: string + description: The ID for the shared folder. + leave_a_copy: + type: boolean + description: Keep a copy of the folder's contents upon relinquishing membership. + description: > + shared_folder_id: The ID for the shared folder. + + leave_a_copy: Keep a copy of the folder's contents upon relinquishing + membership. + SaveUrlError: + type: object + properties: + path: + $ref: '#/components/schemas/WriteError' + .tag: + title: Choice of SaveUrlError + type: string + enum: + - path + - download_failed + - invalid_url + - not_found + - other + description: | + path: None + download_failed: Failed downloading the given URL. + invalid_url: The given URL is invalid. + not_found: The file where the URL is saved to no longer exists. + other: None + SharingPolicy: + type: object + properties: + team_sharing_policy: + $ref: '#/components/schemas/SharingTeamPolicyType' + public_sharing_policy: + $ref: '#/components/schemas/SharingPublicPolicyType' + description: > + Sharing policy of Paper doc. + + public_sharing_policy: This value applies to the non-team members. + + team_sharing_policy: This value applies to the team members only. The + value is null for all personal accounts. + LinkAudience: + type: object + properties: + .tag: + title: Choice of LinkAudience + type: string + enum: + - public + - team + - members + - other + description: | + public: Link is accessible by anyone. + team: Link is accessible only by team members. + members: Link is accessible only by members of the content. + other: None + SharedLinkAccessFailureReason: + type: object + properties: + .tag: + title: Choice of SharedLinkAccessFailureReason + type: string + enum: + - login_required + - email_verify_required + - password_required + - team_only + - owner_only + - other + description: | + login_required: User is not logged in. + email_verify_required: User's email is not verified. + password_required: The link is password protected. + team_only: Access is allowed for team members only. + owner_only: Access is allowed for the shared link's owner only. + other: None + PropertiesSearchQuery: + type: object + properties: + query: + type: string + description: The property field value for which to search across templates. + logical_operator: + $ref: '#/components/schemas/LogicalOperator' + mode: + $ref: '#/components/schemas/PropertiesSearchMode' + description: | + query: The property field value for which to search across templates. + mode: The mode with which to perform the search. + logical_operator: The logical operator with which to append the query. + PropertyGroupUpdate: + type: object + properties: + remove_fields: + type: array + description: Property fields to remove (by name), provided they exist. + items: + type: string + template_id: + type: string + description: A unique identifier for a property template. + add_or_update_fields: + type: array + description: >- + Property fields to update. If the property field already exists, it + is updated. If the property field doesn't exist, the property group + is added. + items: + $ref: '#/components/schemas/PropertyField' + description: > + template_id: A unique identifier for a property template. + + add_or_update_fields: Property fields to update. If the property field + already exists, it is updated. If the property field doesn't exist, the + property group is added. + + remove_fields: Property fields to remove (by name), provided they exist. + ExportFormat: + type: object + properties: + .tag: + title: Choice of ExportFormat + type: string + enum: + - html + - markdown + - other + description: | + The desired export format of the Paper doc. + html: The HTML export format. + markdown: The markdown export format. + other: None + FileSharingInfo: + type: object + properties: + read_only: + type: boolean + description: True if the file or folder is inside a read-only shared folder. + parent_shared_folder_id: + type: string + description: ID of shared folder that holds this file. + modified_by: + type: string + description: >- + The last user who modified the file. This field will be null if the + user's account has been deleted. + description: > + Sharing info for a file which is contained by a shared folder. + + read_only: True if the file or folder is inside a read-only shared + folder. + + parent_shared_folder_id: ID of shared folder that holds this file. + + modified_by: The last user who modified the file. This field will be + null if the user's account has been deleted. + SharedLink: + type: object + properties: + url: + type: string + description: Shared link url. + password: + type: string + description: Password for the shared link. + description: | + url: Shared link url. + password: Password for the shared link. + PaperDocCreateArgs: + type: object + properties: + parent_folder_id: + type: string + description: >- + The Paper folder ID where the Paper document should be created. The + API user has to have write access to this folder or error is thrown. + import_format: + $ref: '#/components/schemas/ImportFormat' + description: > + import_format: The format of provided data. + + parent_folder_id: The Paper folder ID where the Paper document should be + created. The API user has to have write access to this folder or error + is thrown. + Name: + type: object + properties: + familiar_name: + type: string + description: >- + Locale-dependent name. In the US, a person's familiar name is their + :field:`given_name`, but elsewhere, it could be any combination of a + person's :field:`given_name` and :field:`surname`. + surname: + type: string + description: Also known as a last name or family name. + display_name: + type: string + description: >- + A name that can be used directly to represent the name of a user's + Dropbox account. + given_name: + type: string + description: Also known as a first name. + abbreviated_name: + type: string + description: >- + An abbreviated form of the person's name. Their initials in most + locales. + description: > + Representations for a person's name to assist with internationalization. + + given_name: Also known as a first name. + + surname: Also known as a last name or family name. + + familiar_name: Locale-dependent name. In the US, a person's familiar + name is their :field:`given_name`, but elsewhere, it could be any + combination of a person's :field:`given_name` and :field:`surname`. + + display_name: A name that can be used directly to represent the name of + a user's Dropbox account. + + abbreviated_name: An abbreviated form of the person's name. Their + initials in most locales. + ParentFolderAccessInfo: + type: object + 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: + $ref: '#/components/schemas/MemberPermission' + 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. + InvalidPropertyGroupError: + type: object + properties: + path: + $ref: '#/components/schemas/LookupError' + .tag: + title: Choice of InvalidPropertyGroupError + type: string + enum: + - template_not_found + - restricted_content + - other + - path + - unsupported_folder + - property_field_too_large + - does_not_fit_template + template_not_found: + type: string + description: Template does not exist for the given identifier. + description: > + template_not_found: Template does not exist for the given identifier. + + restricted_content: You do not have permission to modify this template. + + other: None + + path: None + + unsupported_folder: This folder cannot be tagged. Tagging folders is not + supported for team-owned templates. + + property_field_too_large: One or more of the supplied property field + values is too large. + + does_not_fit_template: One or more of the supplied property fields does + not conform to the template specifications. + UploadSessionFinishBatchResult: + type: object + properties: + entries: + type: array + description: Commit result for each file in the batch. + items: + $ref: '#/components/schemas/UploadSessionFinishBatchResultEntry' + description: | + entries: Commit result for each file in the batch. + FileMemberActionIndividualResult: + type: object + properties: + member_error: + $ref: '#/components/schemas/FileMemberActionError' + .tag: + title: Choice of FileMemberActionIndividualResult + type: string + enum: + - success + - member_error + success: + $ref: '#/components/schemas/AccessLevel' + 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. + UpdateTemplateResult: + type: object + properties: + template_id: + type: string + description: >- + An identifier for template added by route See + :route:`templates/add_for_user` or :route:`templates/add_for_team`. + description: > + template_id: An identifier for template added by route See + :route:`templates/add_for_user` or :route:`templates/add_for_team`. + UpdateFolderPolicyError: + type: object + properties: + access_error: + $ref: '#/components/schemas/SharedFolderAccessError' + .tag: + title: Choice of UpdateFolderPolicyError + type: string + enum: + - access_error + - not_on_team + - team_policy_disallows_member_policy + - disallowed_shared_link_policy + - no_permission + - team_folder + - other + description: > + access_error: None + + not_on_team: :field:`UpdateFolderPolicyArg.member_policy` was set even + though user is not on a team. + + team_policy_disallows_member_policy: Team policy is more restrictive + than :field:`ShareFolderArg.member_policy`. + + disallowed_shared_link_policy: The current account is not allowed to + select the specified :field:`ShareFolderArg.shared_link_policy`. + + no_permission: The current user does not have permission to perform this + action. + + team_folder: This action cannot be performed on a team shared folder. + + other: None + GroupMembershipInfo: + type: object + properties: + initials: + type: string + description: Never set. + permissions: + type: array + description: >- + The permissions that requesting user has on this member. The set of + permissions corresponds to the MemberActions in the request. + items: + $ref: '#/components/schemas/MemberPermission' + group: + $ref: '#/components/schemas/GroupInfo' + access_type: + $ref: '#/components/schemas/AccessLevel' + is_inherited: + type: boolean + description: True if the member has access from a parent folder. + description: > + The information about a group member of the shared content. + + access_type: The access type for this member. + + group: The information about the membership group. + + permissions: The permissions that requesting user has on this member. + The set of permissions corresponds to the MemberActions in the request. + + initials: Never set. + + is_inherited: True if the member has access from a parent folder. + AudienceExceptions: + type: object + properties: + count: + type: number + exceptions: + type: array + description: >- + A truncated list of some of the content that is an exception. The + length of this list could be smaller than the count since it is only + a sample but will not be empty as long as count is not 0. + items: + $ref: '#/components/schemas/AudienceExceptionContentInfo' + description: > + The total count and truncated list of information of content inside this + folder that has a different audience than the link on this folder. This + is only returned for folders. + + count: None + + exceptions: A truncated list of some of the content that is an + exception. The length of this list could be smaller than the count since + it is only a sample but will not be empty as long as count is not 0. + PropertyType: + type: object + properties: + .tag: + title: Choice of PropertyType + type: string + enum: + - string + - other + description: > + Data type of the given property field added. + + string: The associated property field will be of type string. Unicode is + supported. + + other: None + AddFolderMemberError: + type: object + properties: + too_many_members: + type: number + description: The value is the member limit that was reached. + access_error: + $ref: '#/components/schemas/SharedFolderAccessError' + .tag: + title: Choice of AddFolderMemberError + type: string + enum: + - access_error + - email_unverified + - bad_member + - cant_share_outside_team + - too_many_members + - too_many_pending_invites + - rate_limit + - too_many_invitees + - insufficient_plan + - team_folder + - no_permission + - other + bad_member: + $ref: '#/components/schemas/AddMemberSelectorError' + too_many_pending_invites: + type: number + description: The value is the pending invite limit that was reached. + description: > + access_error: Unable to access shared folder. + + email_unverified: The current user's e-mail address is unverified. + + bad_member: :field:`AddFolderMemberArg.members` contains a bad + invitation recipient. + + cant_share_outside_team: Your team policy does not allow sharing outside + of the team. + + too_many_members: The value is the member limit that was reached. + + too_many_pending_invites: The value is the pending invite limit that was + reached. + + rate_limit: The current user has hit the limit of invites they can send + per day. Try again in 24 hours. + + too_many_invitees: The current user is trying to share with too many + people at once. + + insufficient_plan: The current user's account doesn't support this + action. An example of this is when adding a read-only member. This + action can only be performed by users that have upgraded to a Pro or + Business plan. + + team_folder: This action cannot be performed on a team shared folder. + + no_permission: The current user does not have permission to perform this + action. + + other: None + RootInfo: + type: object + properties: + root_namespace_id: + type: string + description: >- + The namespace ID for user's root namespace. It will be the namespace + ID of the shared team root if the user is member of a team with a + separate team root. Otherwise it will be same as + :field:`RootInfo.home_namespace_id`. + home_namespace_id: + type: string + description: The namespace ID for user's home namespace. + description: > + Information about current user's root. + + root_namespace_id: The namespace ID for user's root namespace. It will + be the namespace ID of the shared team root if the user is member of a + team with a separate team root. Otherwise it will be same as + :field:`RootInfo.home_namespace_id`. + + home_namespace_id: The namespace ID for user's home namespace. + UploadSessionFinishBatchLaunch: + type: object + properties: + .tag: + title: Choice of UploadSessionFinishBatchLaunch + type: string + enum: + - async_job_id + - complete + - other + async_job_id: + type: string + description: >- + This response indicates that the processing is asynchronous. The + string is an id that can be used to obtain the status of the + asynchronous job. + complete: + $ref: '#/components/schemas/UploadSessionFinishBatchResult' + description: > + Result returned by :route:`upload_session/finish_batch` that may either + launch an asynchronous job or complete synchronously. + + async_job_id: This response indicates that the processing is + asynchronous. The string is an id that can be used to obtain the status + of the asynchronous job. + + complete: None + + other: None + ListFileRequestsResult: + type: object + properties: + file_requests: + type: array + description: >- + The file requests owned by this user. Apps with the app folder + permission will only see file requests in their app folder. + items: + $ref: '#/components/schemas/FileRequest' + description: > + Result for :route:`list`. + + file_requests: The file requests owned by this user. Apps with the app + folder permission will only see file requests in their app folder. + ListRevisionsError: + type: object + properties: + path: + $ref: '#/components/schemas/LookupError' + .tag: + title: Choice of ListRevisionsError + type: string + enum: + - path + - other + description: | + path: None + other: None + FilePermission: + type: object + properties: + action: + $ref: '#/components/schemas/FileAction' + reason: + $ref: '#/components/schemas/PermissionDeniedReason' + allow: + type: boolean + description: True if the user is allowed to take the action. + description: > + Whether the user is allowed to take the sharing action on the file. + + action: The action that the user may wish to take on the file. + + 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. + ListFolderError: + type: object + properties: + path: + $ref: '#/components/schemas/LookupError' + .tag: + title: Choice of ListFolderError + type: string + enum: + - path + - other + description: | + path: None + other: None + FileRequest: + type: object + properties: + title: + type: string + description: The title of the file request. + url: + type: string + description: The URL of the file request. + destination: + type: string + description: >- + The path of the folder in the Dropbox where uploaded files will be + sent. This can be :val:`null` if the destination was removed. For + apps with the app folder permission, this will be relative to the + app folder. + created: + type: string + description: When this file request was created. + file_count: + type: number + description: The number of files this file request has received. + deadline: + $ref: '#/components/schemas/FileRequestDeadline' + id: + type: string + description: The ID of the file request. + is_open: + type: boolean + description: >- + Whether or not the file request is open. If the file request is + closed, it will not accept any more file submissions. + description: > + A :link:`file request https://www.dropbox.com/help/9090` for receiving + files into the user's Dropbox account. + + id: The ID of the file request. + + url: The URL of the file request. + + title: The title of the file request. + + created: When this file request was created. + + is_open: Whether or not the file request is open. If the file request is + closed, it will not accept any more file submissions. + + file_count: The number of files this file request has received. + + destination: The path of the folder in the Dropbox where uploaded files + will be sent. This can be :val:`null` if the destination was removed. + For apps with the app folder permission, this will be relative to the + app folder. + + deadline: The deadline for this file request. Only set if the request + has a deadline. + InviteeInfoWithPermissionLevel: + type: object + properties: + permission_level: + $ref: '#/components/schemas/PaperDocPermissionLevel' + invitee: + $ref: '#/components/schemas/InviteeInfo' + description: | + invitee: Email address invited to the Paper doc. + permission_level: Permission level for the invitee. + SearchError: + type: object + properties: + path: + $ref: '#/components/schemas/LookupError' + .tag: + title: Choice of SearchError + type: string + enum: + - path + - other + description: | + path: None + other: None + AddPropertiesError: + type: object + properties: + path: + $ref: '#/components/schemas/LookupError' + .tag: + title: Choice of AddPropertiesError + type: string + enum: + - template_not_found + - restricted_content + - other + - path + - unsupported_folder + - property_field_too_large + - does_not_fit_template + - property_group_already_exists + template_not_found: + type: string + description: Template does not exist for the given identifier. + description: > + template_not_found: Template does not exist for the given identifier. + + restricted_content: You do not have permission to modify this template. + + other: None + + path: None + + unsupported_folder: This folder cannot be tagged. Tagging folders is not + supported for team-owned templates. + + property_field_too_large: One or more of the supplied property field + values is too large. + + does_not_fit_template: One or more of the supplied property fields does + not conform to the template specifications. + + property_group_already_exists: A property group associated with this + template and file already exists. + DeleteArg: + type: object + properties: + path: + type: string + description: Path in the user's Dropbox to delete. + parent_rev: + type: string + description: >- + Perform delete if given "rev" matches the existing file's latest + "rev". This field does not support deleting a folder. + description: > + path: Path in the user's Dropbox to delete. + + parent_rev: Perform delete if given "rev" matches the existing file's + latest "rev". This field does not support deleting a folder. + SharedLinkMetadata: + type: object + properties: + name: + type: string + description: >- + The linked file name (including extension). This never contains a + slash. + url: + type: string + description: URL of the shared link. + expires: + type: string + description: Expiration time, if set. By default the link won't expire. + path_lower: + type: string + description: >- + The lowercased full path in the user's Dropbox. This always starts + with a slash. This field will only be present only if the linked + file is in the authenticated user's dropbox. + content_owner_team_info: + $ref: '#/components/schemas/Team' + link_permissions: + $ref: '#/components/schemas/LinkPermissions' + team_member_info: + $ref: '#/components/schemas/TeamMemberInfo' + id: + type: string + description: A unique identifier for the linked file. + description: > + The metadata of a shared link. + + url: URL of the shared link. + + name: The linked file name (including extension). This never contains a + slash. + + link_permissions: The link's access permissions. + + id: A unique identifier for the linked file. + + expires: Expiration time, if set. By default the link won't expire. + + path_lower: The lowercased full path in the user's Dropbox. This always + starts with a slash. This field will only be present only if the linked + file is in the authenticated user's dropbox. + + team_member_info: The team membership information of the link's owner. + This field will only be present if the link's owner is a team member. + + content_owner_team_info: The team information of the content's owner. + This field will only be present if the content's owner is a team member + and the content's owner team is different from the link's owner team. + AddMemberSelectorError: + type: object + properties: + invalid_dropbox_id: + type: string + description: The value is the ID that could not be identified. + invalid_email: + type: string + description: The value is the e-email address that is malformed. + .tag: + title: Choice of AddMemberSelectorError + type: string + enum: + - automatic_group + - invalid_dropbox_id + - invalid_email + - unverified_dropbox_id + - group_deleted + - group_not_on_team + - other + unverified_dropbox_id: + type: string + description: >- + The value is the ID of the Dropbox user with an unverified e-mail + address. Invite unverified users by e-mail address instead of by + their Dropbox ID. + description: > + automatic_group: Automatically created groups can only be added to team + folders. + + invalid_dropbox_id: The value is the ID that could not be identified. + + invalid_email: The value is the e-email address that is malformed. + + unverified_dropbox_id: The value is the ID of the Dropbox user with an + unverified e-mail address. Invite unverified users by e-mail address + instead of by their Dropbox ID. + + group_deleted: At least one of the specified groups in + :field:`AddFolderMemberArg.members` is deleted. + + group_not_on_team: Sharing to a group that is not on the current user's + team. + + other: None + MemberAction: + type: object + properties: + .tag: + title: Choice of MemberAction + type: string + enum: + - leave_a_copy + - make_editor + - make_owner + - make_viewer + - make_viewer_no_comment + - remove + - other + 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 + ListRevisionsResult: + type: object + properties: + is_deleted: + type: boolean + description: >- + If the file identified by the latest revision in the response is + either deleted or moved. + server_deleted: + type: string + description: The time of deletion if the file was deleted. + entries: + type: array + description: >- + The revisions for the file. Only revisions that are not deleted will + show up here. + items: + $ref: '#/components/schemas/FileMetadata' + description: > + is_deleted: If the file identified by the latest revision in the + response is either deleted or moved. + + entries: The revisions for the file. Only revisions that are not deleted + will show up here. + + server_deleted: The time of deletion if the file was deleted. + RelocationError: + type: object + properties: + to: + $ref: '#/components/schemas/WriteError' + from_lookup: + $ref: '#/components/schemas/LookupError' + .tag: + title: Choice of RelocationError + type: string + enum: + - from_lookup + - from_write + - to + - cant_copy_shared_folder + - cant_nest_shared_folder + - cant_move_folder_into_itself + - too_many_files + - duplicated_or_nested_paths + - cant_transfer_ownership + - insufficient_quota + - other + from_write: + $ref: '#/components/schemas/WriteError' + description: > + from_lookup: None + + from_write: None + + to: None + + cant_copy_shared_folder: Shared folders can't be copied. + + cant_nest_shared_folder: Your move operation would result in nested + shared folders. This is not allowed. + + cant_move_folder_into_itself: You cannot move a folder into itself. + + too_many_files: The operation would involve more than 10,000 files and + folders. + + duplicated_or_nested_paths: There are duplicated/nested paths among + :field:`RelocationArg.from_path` and :field:`RelocationArg.to_path`. + + cant_transfer_ownership: Your move operation would result in an + ownership transfer. You may reissue the request with the field + :field:`RelocationArg.allow_ownership_transfer` to true. + + insufficient_quota: The current user does not have enough space to move + or copy the files. + + other: None + LinkPassword: + type: object + properties: + .tag: + title: Choice of LinkPassword + type: string + enum: + - remove_password + - set_password + - other + set_password: + type: string + description: Set a new password or change an existing password. + description: | + remove_password: Remove the currently set password for the link. + set_password: Set a new password or change an existing password. + other: None + UnmountFolderError: + type: object + properties: + access_error: + $ref: '#/components/schemas/SharedFolderAccessError' + .tag: + title: Choice of UnmountFolderError + type: string + enum: + - access_error + - no_permission + - not_unmountable + - other + description: > + access_error: None + + no_permission: The current user does not have permission to perform this + action. + + not_unmountable: The shared folder can't be unmounted. One example where + this can occur is when the shared folder's parent folder is also a + shared folder that resides in the current user's Dropbox. + + other: None + GroupType: + type: object + properties: + .tag: + title: Choice of GroupType + type: string + enum: + - team + - user_managed + - other + description: > + The group type determines how a group is created and managed. + + team: A group to which team members are automatically added. Applicable + to :link:`team folders https://www.dropbox.com/help/986` only. + + user_managed: A group is created and managed by a user. + + other: None + ThumbnailArg: + type: object + properties: + path: + type: string + description: The path to the image file you want to thumbnail. + size: + $ref: '#/components/schemas/ThumbnailSize' + mode: + $ref: '#/components/schemas/ThumbnailMode' + format: + $ref: '#/components/schemas/ThumbnailFormat' + description: > + path: The path to the image file you want to thumbnail. + + format: The format for the thumbnail image, jpeg (default) or png. For + images that are photos, jpeg should be preferred, while png is better + for screenshots and digital arts. + + size: The size for the thumbnail image. + + mode: How to resize and crop the image to achieve the desired size. + ListSharedLinksArg: + type: object + properties: + cursor: + type: string + description: The cursor returned by your last call to :route:`list_shared_links`. + path: + type: string + description: See :route:`list_shared_links` description. + direct_only: + type: boolean + description: See :route:`list_shared_links` description. + description: > + path: See :route:`list_shared_links` description. + + cursor: The cursor returned by your last call to + :route:`list_shared_links`. + + direct_only: See :route:`list_shared_links` description. + ListFileMembersError: + type: object + properties: + access_error: + $ref: '#/components/schemas/SharingFileAccessError' + .tag: + title: Choice of ListFileMembersError + type: string + enum: + - user_error + - access_error + - other + user_error: + $ref: '#/components/schemas/SharingUserError' + description: | + Error for :route:`list_file_members`. + user_error: None + access_error: None + other: None + UnshareFileArg: + type: object + properties: + file: + type: string + description: The file to unshare. + description: | + Arguments for :route:`unshare_file`. + file: The file to unshare. + PaperDocCreateError: + type: object + properties: + .tag: + title: Choice of PaperDocCreateError + type: string + enum: + - insufficient_permissions + - other + - content_malformed + - folder_not_found + - doc_length_exceeded + - image_size_exceeded + description: > + insufficient_permissions: Your account does not have permissions to + perform this action. + + other: None + + content_malformed: The provided content was malformed and cannot be + imported to Paper. + + folder_not_found: The specified Paper folder is cannot be found. + + doc_length_exceeded: The newly created Paper doc would be too large. + Please split the content into multiple docs. + + image_size_exceeded: The imported document contains an image that is too + large. The current limit is 1MB. Note: This only applies to HTML with + data uri. + PropertiesSearchArg: + type: object + properties: + template_filter: + $ref: '#/components/schemas/TemplateFilter' + queries: + type: array + description: Queries to search. + items: + $ref: '#/components/schemas/PropertiesSearchQuery' + description: > + queries: Queries to search. + + template_filter: Filter results to contain only properties associated + with these template IDs. + FileMetadata: + type: object + properties: + parent_shared_folder_id: + type: string + description: >- + Please use :field:`FileSharingInfo.parent_shared_folder_id` or + :field:`FolderSharingInfo.parent_shared_folder_id` instead. + name: + type: string + description: >- + The last component of the path (including extension). This never + contains a slash. + property_groups: + type: array + description: >- + Additional information if the file has custom properties with the + property template specified. + items: + $ref: '#/components/schemas/PropertyGroup' + rev: + type: string + description: >- + A unique identifier for the current revision of a file. This field + is the same rev as elsewhere in the API and can be used to detect + changes and avoid conflicts. + client_modified: + type: string + description: >- + For files, this is the modification time set by the desktop client + when the file was added to Dropbox. Since this time is not verified + (the Dropbox server stores whatever the desktop client sends up), + this should only be used for display purposes (such as sorting) and + not, for example, to determine if a file has changed or not. + symlink_info: + $ref: '#/components/schemas/SymlinkInfo' + path_display: + type: string + description: >- + The cased path to be used for display purposes only. In rare + instances the casing will not correctly match the user's filesystem, + but this behavior will match the path provided in the Core API v1, + and at least the last path component will have the correct casing. + Changes to only the casing of paths won't be returned by + :route:`list_folder/continue`. This field will be null if the file + or folder is not mounted. + has_explicit_shared_members: + type: boolean + description: >- + This flag will only be present if + include_has_explicit_shared_members is true in :route:`list_folder` + or :route:`get_metadata`. If this flag is present, it will be true + if this file has any explicit shared members. This is different + from sharing_info in that this could be true in the case where a + file has explicit members but is not contained within a shared + folder. + path_lower: + type: string + description: >- + The lowercased full path in the user's Dropbox. This always starts + with a slash. This field will be null if the file or folder is not + mounted. + server_modified: + type: string + description: The last time the file was modified on Dropbox. + sharing_info: + $ref: '#/components/schemas/FileSharingInfo' + media_info: + $ref: '#/components/schemas/MediaInfo' + content_hash: + type: string + description: >- + A hash of the file content. This field can be used to verify data + integrity. For more information see our :link:`Content hash + /developers/reference/content-hash` page. + id: + type: string + description: A unique identifier for the file. + size: + type: number + description: The file size in bytes. + description: > + name: The last component of the path (including extension). This never + contains a slash. + + id: A unique identifier for the file. + + client_modified: For files, this is the modification time set by the + desktop client when the file was added to Dropbox. Since this time is + not verified (the Dropbox server stores whatever the desktop client + sends up), this should only be used for display purposes (such as + sorting) and not, for example, to determine if a file has changed or + not. + + server_modified: The last time the file was modified on Dropbox. + + rev: A unique identifier for the current revision of a file. This field + is the same rev as elsewhere in the API and can be used to detect + changes and avoid conflicts. + + size: The file size in bytes. + + path_lower: The lowercased full path in the user's Dropbox. This always + starts with a slash. This field will be null if the file or folder is + not mounted. + + path_display: The cased path to be used for display purposes only. In + rare instances the casing will not correctly match the user's + filesystem, but this behavior will match the path provided in the Core + API v1, and at least the last path component will have the correct + casing. Changes to only the casing of paths won't be returned by + :route:`list_folder/continue`. This field will be null if the file or + folder is not mounted. + + parent_shared_folder_id: Please use + :field:`FileSharingInfo.parent_shared_folder_id` or + :field:`FolderSharingInfo.parent_shared_folder_id` instead. + + media_info: Additional information if the file is a photo or video. + + symlink_info: Set if this file is a symlink. + + sharing_info: Set if this file is contained in a shared folder. + + property_groups: Additional information if the file has custom + properties with the property template specified. + + has_explicit_shared_members: This flag will only be present if + include_has_explicit_shared_members is true in :route:`list_folder` or + :route:`get_metadata`. If this flag is present, it will be true if this + file has any explicit shared members. This is different from + sharing_info in that this could be true in the case where a file has + explicit members but is not contained within a shared folder. + + content_hash: A hash of the file content. This field can be used to + verify data integrity. For more information see our :link:`Content hash + /developers/reference/content-hash` page. + UploadSessionStartArg: + type: object + properties: + close: + type: boolean + description: >- + If true, the current session will be closed, at which point you + won't be able to call :route:`upload_session/append_v2` anymore with + the current session. + description: > + close: If true, the current session will be closed, at which point you + won't be able to call :route:`upload_session/append_v2` anymore with the + current session. + SearchArg: + type: object + properties: + start: + type: number + description: The starting index within the search results (used for paging). + max_results: + type: number + description: The maximum number of search results to return. + path: + type: string + description: >- + The path in the user's Dropbox to search. Should probably be a + folder. + mode: + $ref: '#/components/schemas/SearchMode' + query: + type: string + description: >- + The string to search for. The search string is split on spaces into + multiple tokens. For file name searching, the last token is used for + prefix matching (i.e. "bat c" matches "bat cave" but not "batman + car"). + description: > + path: The path in the user's Dropbox to search. Should probably be a + folder. + + query: The string to search for. The search string is split on spaces + into multiple tokens. For file name searching, the last token is used + for prefix matching (i.e. "bat c" matches "bat cave" but not "batman + car"). + + start: The starting index within the search results (used for paging). + + max_results: The maximum number of search results to return. + + mode: The search mode (filename, filename_and_content, or + deleted_filename). Note that searching file content is only available + for Dropbox Business accounts. + RelinquishFolderMembershipError: + type: object + properties: + access_error: + $ref: '#/components/schemas/SharedFolderAccessError' + .tag: + title: Choice of RelinquishFolderMembershipError + type: string + enum: + - access_error + - folder_owner + - mounted + - group_access + - team_folder + - no_permission + - no_explicit_access + - other + description: > + access_error: None + + folder_owner: The current user is the owner of the shared folder. Owners + cannot relinquish membership to their own folders. Try unsharing or + transferring ownership first. + + mounted: The shared folder is currently mounted. Unmount the shared + folder before relinquishing membership. + + group_access: The current user has access to the shared folder via a + group. You can't relinquish membership to folders shared via groups. + + team_folder: This action cannot be performed on a team shared folder. + + no_permission: The current user does not have permission to perform this + action. + + no_explicit_access: The current user only has inherited access to the + shared folder. You can't relinquish inherited membership to folders. + + other: None + ListFolderArg: + type: object + properties: + shared_link: + $ref: '#/components/schemas/SharedLink' + include_property_groups: + $ref: '#/components/schemas/TemplateFilterBase' + recursive: + type: boolean + description: >- + If true, the list folder operation will be applied recursively to + all subfolders and the response will contain contents of all + subfolders. + include_has_explicit_shared_members: + type: boolean + description: >- + If true, the results will include a flag for each file indicating + whether or not that file has any explicit members. + include_deleted: + type: boolean + description: >- + If true, the results will include entries for files and folders that + used to exist but were deleted. + limit: + type: number + description: >- + The maximum number of results to return per request. Note: This is + an approximate number and there can be slightly more entries + returned in some cases. + include_media_info: + type: boolean + description: >- + If true, :field:`FileMetadata.media_info` is set for photo and + video. + include_mounted_folders: + type: boolean + description: >- + If true, the results will include entries under mounted folders + which includes app folder, shared folder and team folder. + path: + type: string + description: A unique identifier for the file. + description: > + path: A unique identifier for the file. + + recursive: If true, the list folder operation will be applied + recursively to all subfolders and the response will contain contents of + all subfolders. + + include_media_info: If true, :field:`FileMetadata.media_info` is set for + photo and video. + + include_deleted: If true, the results will include entries for files and + folders that used to exist but were deleted. + + include_has_explicit_shared_members: If true, the results will include a + flag for each file indicating whether or not that file has any explicit + members. + + include_mounted_folders: If true, the results will include entries under + mounted folders which includes app folder, shared folder and team + folder. + + limit: The maximum number of results to return per request. Note: This + is an approximate number and there can be slightly more entries returned + in some cases. + + shared_link: A shared link to list the contents of. If the link is + password-protected, the password must be provided. If this field is + present, :field:`ListFolderArg.path` will be relative to root of the + shared link. Only non-recursive mode is supported for shared link. + + include_property_groups: If set to a valid list of template IDs, + :field:`FileMetadata.property_groups` is set if there exists property + data associated with the file and each of the listed templates. + AddPaperDocUser: + type: object + properties: + doc_id: + type: string + description: The Paper doc ID. + quiet: + type: boolean + description: >- + Clients should set this to true if no email message shall be sent to + added users. + members: + type: array + description: >- + User which should be added to the Paper doc. Specify only email + address or Dropbox account ID. + items: + $ref: '#/components/schemas/AddMember' + custom_message: + type: string + description: >- + A personal message that will be emailed to each successfully added + member. + description: > + doc_id: The Paper doc ID. + + members: User which should be added to the Paper doc. Specify only email + address or Dropbox account ID. + + custom_message: A personal message that will be emailed to each + successfully added member. + + quiet: Clients should set this to true if no email message shall be sent + to added users. + AddMember: + type: object + properties: + member: + $ref: '#/components/schemas/MemberSelector' + permission_level: + $ref: '#/components/schemas/PaperDocPermissionLevel' + description: > + member: User which should be added to the Paper doc. Specify only email + address or Dropbox account ID. + + permission_level: Permission for the user. + GracePeriod: + type: object + properties: + .tag: + title: Choice of GracePeriod + type: string + enum: + - one_day + - two_days + - seven_days + - thirty_days + - always + - other + description: | + one_day: None + two_days: None + seven_days: None + thirty_days: None + always: None + other: None + UserInfoWithPermissionLevel: + type: object + properties: + permission_level: + $ref: '#/components/schemas/PaperDocPermissionLevel' + user: + $ref: '#/components/schemas/UserInfo' + description: | + user: User shared on the Paper doc. + permission_level: Permission level for the user. + PollError: + type: object + properties: + .tag: + title: Choice of PollError + type: string + enum: + - invalid_async_job_id + - internal_error + - other + description: > + Error returned by methods for polling the status of asynchronous job. + + invalid_async_job_id: The job ID is invalid. + + internal_error: Something went wrong with the job on Dropbox's end. + You'll need to verify that the action you were taking succeeded, and if + not, try again. This should happen very rarely. + + other: None + DeleteBatchArg: + type: object + properties: + entries: + type: array + items: + $ref: '#/components/schemas/DeleteArg' + description: | + entries: None + RelinquishFileMembershipError: + type: object + properties: + access_error: + $ref: '#/components/schemas/SharingFileAccessError' + .tag: + title: Choice of RelinquishFileMembershipError + type: string + enum: + - access_error + - group_access + - no_permission + - other + description: > + access_error: None + + group_access: The current user has access to the shared file via a + group. You can't relinquish membership to a file shared via groups. + + no_permission: The current user does not have permission to perform this + action. + + other: None + ListFileMembersBatchArg: + type: object + properties: + files: + type: array + description: Files for which to return members. + items: + type: string + limit: + type: number + description: >- + Number of members to return max per query. Defaults to 10 if no + limit is specified. + description: > + Arguments for :route:`list_file_members/batch`. + + files: Files for which to return members. + + limit: Number of members to return max per query. Defaults to 10 if no + limit is specified. + GetThumbnailBatchResult: + type: object + properties: + entries: + type: array + description: List of files and their thumbnails. + items: + $ref: '#/components/schemas/GetThumbnailBatchResultEntry' + description: | + entries: List of files and their thumbnails. + CreateFolderArg: + type: object + properties: + path: + type: string + description: Path in the user's Dropbox to create. + autorename: + type: boolean + description: >- + If there's a conflict, have the Dropbox server try to autorename the + folder to avoid the conflict. + description: > + path: Path in the user's Dropbox to create. + + autorename: If there's a conflict, have the Dropbox server try to + autorename the folder to avoid the conflict. + PlatformType: + type: object + properties: + .tag: + title: Choice of PlatformType + type: string + enum: + - web + - mobile + - desktop + - unknown + - other + description: | + Possible platforms on which a user may view content. + web: The content was viewed on the web. + mobile: The content was viewed on a mobile client. + desktop: The content was viewed on a desktop client. + unknown: The content was viewed on an unknown platform. + other: None + SharedContentLinkMetadata: + type: object + properties: + current_audience: + $ref: '#/components/schemas/LinkAudience' + url: + type: string + description: The URL of the link. + password_protected: + type: boolean + description: Whether the link is protected by a password. + audience_exceptions: + $ref: '#/components/schemas/AudienceExceptions' + expiry: + type: string + description: >- + Whether the link has an expiry set on it. A link with an expiry will + have its audience changed to members when the expiry is reached. + access_level: + $ref: '#/components/schemas/AccessLevel' + audience_restricting_shared_folder: + $ref: '#/components/schemas/AudienceRestrictingSharedFolder' + link_permissions: + type: array + description: A list of permissions for actions you can perform on the link. + items: + $ref: '#/components/schemas/LinkPermission' + audience_options: + type: array + description: >- + The audience options that are available for the content. Some + audience options may be unavailable. For example, team_only may be + unavailable if the content is not owned by a user on a team. The + 'default' audience option is always available if the user can modify + link settings. + items: + $ref: '#/components/schemas/LinkAudience' + description: > + Metadata of a shared link for a file or folder. + + audience_options: The audience options that are available for the + content. Some audience options may be unavailable. For example, + team_only may be unavailable if the content is not owned by a user on a + team. The 'default' audience option is always available if the user can + modify link settings. + + current_audience: The current audience of the link. + + link_permissions: A list of permissions for actions you can perform on + the link. + + password_protected: Whether the link is protected by a password. + + url: The URL of the link. + + access_level: The access level on the link for this file. + + audience_restricting_shared_folder: The shared folder that prevents the + link audience for this link from being more restrictive. + + expiry: Whether the link has an expiry set on it. A link with an expiry + will have its audience changed to members when the expiry is reached. + + audience_exceptions: The content inside this folder with link audience + different than this folder's. This is only returned when an endpoint + that returns metadata for a single shared folder is called, e.g. + /get_folder_metadata. + InviteeMembershipInfo: + type: object + properties: + invitee: + $ref: '#/components/schemas/InviteeInfo' + access_type: + $ref: '#/components/schemas/AccessLevel' + user: + $ref: '#/components/schemas/UserInfo' + is_inherited: + type: boolean + description: True if the member has access from a parent folder. + initials: + type: string + description: Never set. + permissions: + type: array + description: >- + The permissions that requesting user has on this member. The set of + permissions corresponds to the MemberActions in the request. + items: + $ref: '#/components/schemas/MemberPermission' + description: > + Information about an invited member of a shared content. + + access_type: The access type for this member. + + invitee: Recipient of the invitation. + + permissions: The permissions that requesting user has on this member. + The set of permissions corresponds to the MemberActions in the request. + + initials: Never set. + + is_inherited: True if the member has access from a parent folder. + + user: The user this invitation is tied to, if available. + GetAccountError: + type: object + properties: + .tag: + title: Choice of GetAccountError + type: string + enum: + - no_account + - other + description: > + no_account: The specified :field:`GetAccountArg.account_id` does not + exist. + + other: None + JobStatus: + type: object + properties: + failed: + $ref: '#/components/schemas/JobError' + .tag: + title: Choice of JobStatus + type: string + enum: + - in_progress + - complete + - failed + description: | + in_progress: The asynchronous job is still in progress. + complete: The asynchronous job has finished. + failed: The asynchronous job returned an error. + WriteConflictError: + type: object + properties: + .tag: + title: Choice of WriteConflictError + type: string + enum: + - file + - folder + - file_ancestor + - other + description: > + file: There's a file in the way. + + folder: There's a folder in the way. + + file_ancestor: There's a file at an ancestor path, so we couldn't create + the required parent folders. + + other: None + LinkPermission: + type: object + properties: + action: + $ref: '#/components/schemas/LinkAction' + reason: + $ref: '#/components/schemas/PermissionDeniedReason' + allow: + type: boolean + description: | + Permissions for actions that can be performed on a link. + action: None + allow: None + reason: None + Team: + type: object + properties: + id: + type: string + description: The team's unique ID. + name: + type: string + description: The name of the team. + description: | + Information about a team. + id: The team's unique ID. + name: The name of the team. + SaveUrlResult: + type: object + properties: + .tag: + title: Choice of SaveUrlResult + type: string + enum: + - async_job_id + - complete + async_job_id: + type: string + description: >- + This response indicates that the processing is asynchronous. The + string is an id that can be used to obtain the status of the + asynchronous job. + complete: + $ref: '#/components/schemas/FileMetadata' + description: > + async_job_id: This response indicates that the processing is + asynchronous. The string is an id that can be used to obtain the status + of the asynchronous job. + + complete: Metadata of the file where the URL is saved to. + SetAccessInheritanceArg: + type: object + properties: + access_inheritance: + $ref: '#/components/schemas/AccessInheritance' + shared_folder_id: + type: string + description: The ID for the shared folder. + description: | + shared_folder_id: The ID for the shared folder. + access_inheritance: The access inheritance settings for the folder. + ListFolderLongpollError: + type: object + properties: + .tag: + title: Choice of ListFolderLongpollError + type: string + enum: + - reset + - other + description: > + reset: Indicates that the cursor has been invalidated. Call + :route:`list_folder` to obtain a new cursor. + + other: None + ListFilesResult: + type: object + properties: + cursor: + type: string + description: Cursor used to obtain additional shared files. + entries: + type: array + description: Information about the files shared with current user. + items: + $ref: '#/components/schemas/SharedFileMetadata' + description: | + Success results for :route:`list_received_files`. + entries: Information about the files shared with current user. + cursor: Cursor used to obtain additional shared files. + CreateSharedLinkWithSettingsArg: + type: object + properties: + path: + type: string + description: The path to be shared by the shared link. + settings: + $ref: '#/components/schemas/SharedLinkSettings' + description: | + path: The path to be shared by the shared link. + settings: The requested settings for the newly created shared link. + ModifyTemplateError: + type: object + properties: + .tag: + title: Choice of ModifyTemplateError + type: string + enum: + - template_not_found + - restricted_content + - other + - conflicting_property_names + - too_many_properties + - too_many_templates + - template_attribute_too_large + template_not_found: + type: string + description: Template does not exist for the given identifier. + description: > + template_not_found: Template does not exist for the given identifier. + + restricted_content: You do not have permission to modify this template. + + other: None + + conflicting_property_names: A property field key with that name already + exists in the template. + + too_many_properties: There are too many properties in the changed + template. The maximum number of properties per template is 32. + + too_many_templates: There are too many templates for the team. + + template_attribute_too_large: The template name, description or one or + more of the property field keys is too large. + GetFileMetadataBatchArg: + type: object + properties: + files: + type: array + description: The files to query. + items: + type: string + actions: + type: array + description: >- + A list of `FileAction`s corresponding to `FilePermission`s that + should appear in the response's + :field:`SharedFileMetadata.permissions` field describing the actions + the authenticated user can perform on the file. + items: + $ref: '#/components/schemas/FileAction' + description: > + Arguments of :route:`get_file_metadata/batch`. + + files: The files to query. + + actions: A list of `FileAction`s corresponding to `FilePermission`s that + should appear in the response's :field:`SharedFileMetadata.permissions` + field describing the actions the authenticated user can perform on the + file. + PropertiesSearchContinueArg: + type: object + properties: + cursor: + type: string + description: >- + The cursor returned by your last call to :route:`properties/search` + or :route:`properties/search/continue`. + description: > + cursor: The cursor returned by your last call to + :route:`properties/search` or :route:`properties/search/continue`. + GetFileMetadataArg: + type: object + properties: + actions: + type: array + description: >- + A list of `FileAction`s corresponding to `FilePermission`s that + should appear in the response's + :field:`SharedFileMetadata.permissions` field describing the actions + the authenticated user can perform on the file. + items: + $ref: '#/components/schemas/FileAction' + file: + type: string + description: The file to query. + description: > + Arguments of :route:`get_file_metadata`. + + file: The file to query. + + actions: A list of `FileAction`s corresponding to `FilePermission`s that + should appear in the response's :field:`SharedFileMetadata.permissions` + field describing the actions the authenticated user can perform on the + file. + AddFolderMemberArg: + type: object + properties: + shared_folder_id: + type: string + description: The ID for the shared folder. + quiet: + type: boolean + description: >- + Whether added members should be notified via email and device + notifications of their invite. + members: + type: array + description: >- + The intended list of members to add. Added members will receive + invites to join the shared folder. + items: + $ref: '#/components/schemas/AddMember' + custom_message: + type: string + description: Optional message to display to added members in their invitation. + description: > + shared_folder_id: The ID for the shared folder. + + members: The intended list of members to add. Added members will + receive invites to join the shared folder. + + quiet: Whether added members should be notified via email and device + notifications of their invite. + + custom_message: Optional message to display to added members in their + invitation. + UpdateFileMemberArgs: + type: object + properties: + member: + $ref: '#/components/schemas/MemberSelector' + access_level: + $ref: '#/components/schemas/AccessLevel' + file: + type: string + description: File for which we are changing a member's access. + description: | + Arguments for :route:`update_file_member`. + file: File for which we are changing a member's access. + member: The member whose access we are changing. + access_level: The new access level for the member. + SpaceUsage: + type: object + properties: + allocation: + $ref: '#/components/schemas/SpaceAllocation' + used: + type: number + description: The user's total space usage (bytes). + description: | + Information about a user's space usage and quota. + used: The user's total space usage (bytes). + allocation: The user's space allocation. + CreateFolderBatchResultEntry: + type: object + properties: + failure: + $ref: '#/components/schemas/CreateFolderEntryError' + .tag: + title: Choice of CreateFolderBatchResultEntry + type: string + enum: + - success + - failure + success: + $ref: '#/components/schemas/CreateFolderEntryResult' + description: | + success: None + failure: None + UpdateFolderMemberError: + type: object + properties: + access_error: + $ref: '#/components/schemas/SharedFolderAccessError' + .tag: + title: Choice of UpdateFolderMemberError + type: string + enum: + - access_error + - member_error + - no_explicit_access + - insufficient_plan + - no_permission + - other + no_explicit_access: + $ref: '#/components/schemas/AddFolderMemberError' + member_error: + $ref: '#/components/schemas/SharedFolderMemberError' + description: > + access_error: None + + member_error: None + + no_explicit_access: If updating the access type required the member to + be added to the shared folder and there was an error when adding the + member. + + insufficient_plan: The current user's account doesn't support this + action. An example of this is when downgrading a member from editor to + viewer. This action can only be performed by users that have upgraded to + a Pro or Business plan. + + no_permission: The current user does not have permission to perform this + action. + + other: None + PaperDocExportResult: + type: object + properties: + owner: + type: string + description: The Paper doc owner's email address. + revision: + type: number + description: The Paper doc revision. Simply an ever increasing number. + mime_type: + type: string + description: >- + MIME type of the export. This corresponds to :type:`ExportFormat` + specified in the request. + title: + type: string + description: The Paper doc title. + description: > + owner: The Paper doc owner's email address. + + title: The Paper doc title. + + revision: The Paper doc revision. Simply an ever increasing number. + + mime_type: MIME type of the export. This corresponds to + :type:`ExportFormat` specified in the request. + DeleteBatchError: + type: object + properties: + .tag: + title: Choice of DeleteBatchError + type: string + enum: + - too_many_write_operations + - other + description: > + too_many_write_operations: Use + :field:`DeleteError.too_many_write_operations`. :route:`delete_batch` + now provides smaller granularity about which entry has failed because of + this. + + other: None + UserFileMembershipInfo: + type: object + properties: + access_type: + $ref: '#/components/schemas/AccessLevel' + platform_type: + $ref: '#/components/schemas/PlatformType' + user: + $ref: '#/components/schemas/UserInfo' + time_last_seen: + type: string + description: >- + The UTC timestamp of when the user has last seen the content, if + they have. + is_inherited: + type: boolean + description: True if the member has access from a parent folder. + permissions: + type: array + description: >- + The permissions that requesting user has on this member. The set of + permissions corresponds to the MemberActions in the request. + items: + $ref: '#/components/schemas/MemberPermission' + initials: + type: string + description: Never set. + description: > + The information about a user member of the shared content with an + appended last seen timestamp. + + access_type: The access type for this member. + + user: The account information for the membership user. + + permissions: The permissions that requesting user has on this member. + The set of permissions corresponds to the MemberActions in the request. + + initials: Never set. + + is_inherited: True if the member has access from a parent folder. + + time_last_seen: The UTC timestamp of when the user has last seen the + content, if they have. + + platform_type: The platform on which the user has last seen the content, + or unknown. + MemberAccessLevelResult: + type: object + properties: + access_level: + $ref: '#/components/schemas/AccessLevel' + 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: + $ref: '#/components/schemas/ParentFolderAccessInfo' + warning: + type: string + description: >- + A localized string with additional information about why the user + has this access level to the content. + 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. + JobError: + type: object + properties: + remove_folder_member_error: + $ref: '#/components/schemas/RemoveFolderMemberError' + unshare_folder_error: + $ref: '#/components/schemas/UnshareFolderError' + .tag: + title: Choice of JobError + type: string + enum: + - unshare_folder_error + - remove_folder_member_error + - relinquish_folder_membership_error + - other + relinquish_folder_membership_error: + $ref: '#/components/schemas/RelinquishFolderMembershipError' + description: > + Error occurred while performing an asynchronous job from + :route:`unshare_folder` or :route:`remove_folder_member`. + + unshare_folder_error: Error occurred while performing + :route:`unshare_folder` action. + + remove_folder_member_error: Error occurred while performing + :route:`remove_folder_member` action. + + relinquish_folder_membership_error: Error occurred while performing + :route:`relinquish_folder_membership` action. + + other: None + PreviewError: + type: object + properties: + path: + $ref: '#/components/schemas/LookupError' + .tag: + title: Choice of PreviewError + type: string + enum: + - path + - in_progress + - unsupported_extension + - unsupported_content + description: > + path: An error occurs when downloading metadata for the file. + + in_progress: This preview generation is still in progress and the file + is not ready for preview yet. + + unsupported_extension: The file extension is not supported preview + generation. + + unsupported_content: The file content is not supported for preview + generation. + CreateFileRequestError: + type: object + properties: + .tag: + title: Choice of CreateFileRequestError + type: string + enum: + - disabled_for_team + - other + - not_found + - not_a_folder + - app_lacks_access + - no_permission + - email_unverified + - validation_error + - invalid_location + - rate_limit + description: > + There was an error creating the file request. + + disabled_for_team: This user's Dropbox Business team doesn't allow file + requests. + + other: None + + not_found: This file request ID was not found. + + not_a_folder: The specified path is not a folder. + + app_lacks_access: This file request is not accessible to this app. Apps + with the app folder permission can only access file requests in their + app folder. + + no_permission: This user doesn't have permission to access or modify + this file request. + + email_unverified: This user's email address is not verified. File + requests are only available on accounts with a verified email address. + Users can verify their email address :link:`here + https://www.dropbox.com/help/317`. + + validation_error: There was an error validating the request. For + example, the title was invalid, or there were disallowed characters in + the destination path. + + invalid_location: File requests are not available on the specified + folder. + + rate_limit: The user has reached the rate limit for creating file + requests. The limit is currently 100 file requests per day. + SharingTeamPolicyType: + type: object + properties: + .tag: + title: Choice of SharingTeamPolicyType + type: string + enum: + - people_with_link_can_edit + - people_with_link_can_view_and_comment + - invite_only + description: > + The sharing policy type of the Paper doc. + + people_with_link_can_edit: Users who have a link to this doc can edit + it. + + people_with_link_can_view_and_comment: Users who have a link to this doc + can view and comment on it. + + invite_only: Users must be explicitly invited to this doc. + ThumbnailSize: + type: object + properties: + .tag: + title: Choice of ThumbnailSize + type: string + enum: + - w32h32 + - w64h64 + - w128h128 + - w256h256 + - w480h320 + - w640h480 + - w960h640 + - w1024h768 + - w2048h1536 + description: | + w32h32: 32 by 32 px. + w64h64: 64 by 64 px. + w128h128: 128 by 128 px. + w256h256: 256 by 256 px. + w480h320: 480 by 320 px. + w640h480: 640 by 480 px. + w960h640: 960 by 640 px. + w1024h768: 1024 by 768 px. + w2048h1536: 2048 by 1536 px. + UpdatePropertiesArg: + type: object + properties: + path: + type: string + description: A unique identifier for the file or folder. + update_property_groups: + type: array + description: The property groups "delta" updates to apply. + items: + $ref: '#/components/schemas/PropertyGroupUpdate' + description: | + path: A unique identifier for the file or folder. + update_property_groups: The property groups "delta" updates to apply. + GetThumbnailBatchArg: + type: object + properties: + entries: + type: array + description: List of files to get thumbnails. + items: + $ref: '#/components/schemas/ThumbnailArg' + description: | + Arguments for :route:`get_thumbnail_batch`. + entries: List of files to get thumbnails. + AddFileMemberError: + type: object + properties: + access_error: + $ref: '#/components/schemas/SharingFileAccessError' + .tag: + title: Choice of AddFileMemberError + type: string + enum: + - user_error + - access_error + - rate_limit + - invalid_comment + - other + user_error: + $ref: '#/components/schemas/SharingUserError' + description: > + Errors for :route:`add_file_member`. + + user_error: None + + access_error: None + + rate_limit: The user has reached the rate limit for invitations. + + invalid_comment: The custom message did not pass comment permissions + checks. + + other: None + RelocationBatchArg: + type: object + properties: + allow_ownership_transfer: + type: boolean + description: >- + Allow moves by owner even if it would result in an ownership + transfer for the content being moved. This does not apply to copies. + allow_shared_folder: + type: boolean + description: >- + If true, :route:`copy_batch` will copy contents in shared folder, + otherwise :field:`RelocationError.cant_copy_shared_folder` will be + returned if :field:`RelocationPath.from_path` contains shared + folder. This field is always true for :route:`move_batch`. + autorename: + type: boolean + description: >- + If there's a conflict with any file, have the Dropbox server try to + autorename that file to avoid the conflict. + entries: + type: array + description: >- + List of entries to be moved or copied. Each entry is + :type:`RelocationPath`. + items: + $ref: '#/components/schemas/RelocationPath' + description: > + entries: List of entries to be moved or copied. Each entry is + :type:`RelocationPath`. + + allow_shared_folder: If true, :route:`copy_batch` will copy contents in + shared folder, otherwise + :field:`RelocationError.cant_copy_shared_folder` will be returned if + :field:`RelocationPath.from_path` contains shared folder. This field is + always true for :route:`move_batch`. + + autorename: If there's a conflict with any file, have the Dropbox server + try to autorename that file to avoid the conflict. + + allow_ownership_transfer: Allow moves by owner even if it would result + in an ownership transfer for the content being moved. This does not + apply to copies. + CreateFolderBatchResult: + type: object + properties: + entries: + type: array + items: + $ref: '#/components/schemas/CreateFolderBatchResultEntry' + description: | + entries: None + GetSharedLinksArg: + type: object + properties: + path: + type: string + description: See :route:`get_shared_links` description. + description: | + path: See :route:`get_shared_links` description. + ListFolderMembersArgs: + type: object + properties: + shared_folder_id: + type: string + description: The ID for the shared folder. + limit: + type: number + description: >- + The maximum number of results that include members, groups and + invitees to return per request. + actions: + type: array + description: >- + This is a list indicating whether each returned member will include + a boolean value :field:`MemberPermission.allow` that describes + whether the current user can perform the MemberAction on the member. + items: + $ref: '#/components/schemas/MemberAction' + description: > + shared_folder_id: The ID for the shared folder. + + actions: This is a list indicating whether each returned member will + include a boolean value :field:`MemberPermission.allow` that describes + whether the current user can perform the MemberAction on the member. + + limit: The maximum number of results that include members, groups and + invitees to return per request. + SaveCopyReferenceArg: + type: object + properties: + path: + type: string + description: Path in the user's Dropbox that is the destination. + copy_reference: + type: string + description: A copy reference returned by :route:`copy_reference/get`. + description: > + copy_reference: A copy reference returned by + :route:`copy_reference/get`. + + path: Path in the user's Dropbox that is the destination. + PropertiesSearchContinueError: + type: object + properties: + .tag: + title: Choice of PropertiesSearchContinueError + type: string + enum: + - reset + - other + description: > + reset: Indicates that the cursor has been invalidated. Call + :route:`properties/search` to obtain a new cursor. + + other: None + RemoveFolderMemberArg: + type: object + properties: + member: + $ref: '#/components/schemas/MemberSelector' + shared_folder_id: + type: string + description: The ID for the shared folder. + leave_a_copy: + type: boolean + description: >- + If true, the removed user will keep their copy of the folder after + it's unshared, assuming it was mounted. Otherwise, it will be + removed from their Dropbox. Also, this must be set to false when + kicking a group. + description: > + shared_folder_id: The ID for the shared folder. + + member: The member to remove from the folder. + + leave_a_copy: If true, the removed user will keep their copy of the + folder after it's unshared, assuming it was mounted. Otherwise, it will + be removed from their Dropbox. Also, this must be set to false when + kicking a group. + TokenFromOAuth1Error: + type: object + properties: + .tag: + title: Choice of TokenFromOAuth1Error + type: string + enum: + - invalid_oauth1_token_info + - app_id_mismatch + - other + description: > + invalid_oauth1_token_info: Part or all of the OAuth 1.0 access token + info is invalid. + + app_id_mismatch: The authorized app does not match the app associated + with the supplied access token. + + other: None + PaperApiCursorError: + type: object + properties: + .tag: + title: Choice of PaperApiCursorError + type: string + enum: + - expired_cursor + - invalid_cursor + - wrong_user_in_cursor + - reset + - other + description: > + expired_cursor: The provided cursor is expired. + + invalid_cursor: The provided cursor is invalid. + + wrong_user_in_cursor: The provided cursor contains invalid user. + + reset: Indicates that the cursor has been invalidated. Call the + corresponding non-continue endpoint to obtain a new cursor. + + other: None + GetMetadataArgs: + type: object + properties: + shared_folder_id: + type: string + description: The ID for the shared folder. + actions: + type: array + description: >- + A list of `FolderAction`s corresponding to `FolderPermission`s that + should appear in the response's + :field:`SharedFolderMetadata.permissions` field describing the + actions the authenticated user can perform on the folder. + items: + $ref: '#/components/schemas/FolderAction' + description: > + shared_folder_id: The ID for the shared folder. + + actions: A list of `FolderAction`s corresponding to `FolderPermission`s + that should appear in the response's + :field:`SharedFolderMetadata.permissions` field describing the actions + the authenticated user can perform on the folder. + GetThumbnailBatchResultData: + type: object + properties: + thumbnail: + type: string + metadata: + $ref: '#/components/schemas/FileMetadata' + description: | + metadata: None + thumbnail: None + ListFolderGetLatestCursorResult: + type: object + properties: + cursor: + type: string + description: >- + Pass the cursor into :route:`list_folder/continue` to see what's + changed in the folder since your previous query. + description: > + cursor: Pass the cursor into :route:`list_folder/continue` to see what's + changed in the folder since your previous query. + PermissionDeniedReason: + type: object + properties: + insufficient_plan: + $ref: '#/components/schemas/InsufficientPlan' + .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 + 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 + UploadSessionFinishBatchJobStatus: + type: object + properties: + .tag: + title: Choice of UploadSessionFinishBatchJobStatus + type: string + enum: + - in_progress + - complete + complete: + $ref: '#/components/schemas/UploadSessionFinishBatchResult' + description: | + in_progress: The asynchronous job is still in progress. + complete: The :route:`upload_session/finish_batch` has finished. + SharedLinkCreatePolicy: + type: object + properties: + .tag: + title: Choice of SharedLinkCreatePolicy + type: string + enum: + - default_public + - default_team_only + - team_only + - other + description: > + Policy governing the visibility of shared links. This policy can apply + to newly created shared links, or all shared links. + + default_public: By default, anyone can access newly created shared + links. No login will be required to access the shared links unless + overridden. + + default_team_only: By default, only members of the same team can access + newly created shared links. Login will be required to access the shared + links unless overridden. + + team_only: Only members of the same team can access all shared links. + Login will be required to access all shared links. + + other: None + ImportFormat: + type: object + properties: + .tag: + title: Choice of ImportFormat + type: string + enum: + - html + - markdown + - plain_text + - other + description: > + The import format of the incoming data. + + html: The provided data is interpreted as standard HTML. + + markdown: The provided data is interpreted as markdown. + + Note: The first line of the provided document will be used as the doc + title. + + plain_text: The provided data is interpreted as plain text. + + Note: The first line of the provided document will be used as the doc + title. + + other: None + MemberSelector: + type: object + 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. + 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 + RelocationBatchLaunch: + type: object + properties: + .tag: + title: Choice of RelocationBatchLaunch + type: string + enum: + - async_job_id + - complete + - other + async_job_id: + type: string + description: >- + This response indicates that the processing is asynchronous. The + string is an id that can be used to obtain the status of the + asynchronous job. + complete: + $ref: '#/components/schemas/RelocationBatchResult' + description: > + Result returned by :route:`copy_batch` or :route:`move_batch` that may + either launch an asynchronous job or complete synchronously. + + async_job_id: This response indicates that the processing is + asynchronous. The string is an id that can be used to obtain the status + of the asynchronous job. + + complete: None + + other: None + GetFileMetadataBatchResult: + type: object + properties: + result: + $ref: '#/components/schemas/GetFileMetadataIndividualResult' + file: + type: string + description: >- + This is the input file identifier corresponding to one of + :field:`GetFileMetadataBatchArg.files`. + description: > + Per file results of :route:`get_file_metadata/batch`. + + file: This is the input file identifier corresponding to one of + :field:`GetFileMetadataBatchArg.files`. + + result: The result for this particular file. + ListFilesContinueArg: + type: object + properties: + cursor: + type: string + description: Cursor in :field:`ListFilesResult.cursor`. + description: | + Arguments for :route:`list_received_files/continue`. + cursor: Cursor in :field:`ListFilesResult.cursor`. + ListDocsCursorError: + type: object + properties: + cursor_error: + $ref: '#/components/schemas/PaperApiCursorError' + .tag: + title: Choice of ListDocsCursorError + type: string + enum: + - cursor_error + - other + description: | + cursor_error: None + other: None + FileMemberActionError: + type: object + properties: + access_error: + $ref: '#/components/schemas/SharingFileAccessError' + .tag: + title: Choice of FileMemberActionError + type: string + enum: + - invalid_member + - no_permission + - access_error + - no_explicit_access + - other + no_explicit_access: + $ref: '#/components/schemas/MemberAccessLevelResult' + 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 + TemplateFilter: + type: object + properties: + filter_some: + type: array + description: >- + Only templates with an ID in the supplied list will be returned (a + subset of templates will be returned). + items: + type: string + .tag: + title: Choice of TemplateFilter + type: string + enum: + - filter_some + - other + - filter_none + description: > + filter_some: Only templates with an ID in the supplied list will be + returned (a subset of templates will be returned). + + other: None + + filter_none: No templates will be filtered from the result (all + templates will be returned). + SetAccessInheritanceError: + type: object + properties: + access_error: + $ref: '#/components/schemas/SharedFolderAccessError' + .tag: + title: Choice of SetAccessInheritanceError + type: string + enum: + - access_error + - no_permission + - other + description: > + access_error: Unable to access shared folder. + + no_permission: The current user does not have permission to perform this + action. + + other: None + ListFoldersContinueError: + type: object + properties: + .tag: + title: Choice of ListFoldersContinueError + type: string + enum: + - invalid_cursor + - other + description: | + invalid_cursor: :field:`ListFoldersContinueArg.cursor` is invalid. + other: None + AddPropertiesArg: + type: object + properties: + path: + type: string + description: A unique identifier for the file or folder. + property_groups: + type: array + description: The property groups which are to be added to a Dropbox file. + items: + $ref: '#/components/schemas/PropertyGroup' + description: > + path: A unique identifier for the file or folder. + + property_groups: The property groups which are to be added to a Dropbox + file. + MediaInfo: + type: object + properties: + .tag: + title: Choice of MediaInfo + type: string + enum: + - pending + - metadata + metadata: + $ref: '#/components/schemas/MediaMetadata' + description: > + pending: Indicate the photo/video is still under processing and metadata + is not available yet. + + metadata: The metadata for the photo/video. + LinkPermissions: + type: object + properties: + requested_visibility: + $ref: '#/components/schemas/RequestedVisibility' + resolved_visibility: + $ref: '#/components/schemas/ResolvedVisibility' + can_revoke: + type: boolean + description: Whether the caller can revoke the shared link. + revoke_failure_reason: + $ref: '#/components/schemas/SharedLinkAccessFailureReason' + description: > + can_revoke: Whether the caller can revoke the shared link. + + resolved_visibility: The current visibility of the link after + considering the shared links policies of the the team (in case the + link's owner is part of a team) and the shared folder (in case the + linked file is part of a shared folder). This field is shown only if the + caller has access to this info (the link's owner always has access to + this data). + + requested_visibility: The shared link's requested visibility. This can + be overridden by the team and shared folder policies. The final + visibility, after considering these policies, can be found in + :field:`resolved_visibility`. This is shown only if the caller is the + link's owner. + + revoke_failure_reason: The failure reason for revoking the link. This + field will only be present if the :field:`can_revoke` is :val:`false`. + DeleteBatchResultEntry: + type: object + properties: + failure: + $ref: '#/components/schemas/DeleteError' + .tag: + title: Choice of DeleteBatchResultEntry + type: string + enum: + - success + - failure + success: + $ref: '#/components/schemas/DeleteBatchResultData' + description: | + success: None + failure: None + PropertyGroup: + type: object + properties: + fields: + type: array + description: >- + The actual properties associated with the template. There can be up + to 32 property types per template. + items: + $ref: '#/components/schemas/PropertyField' + template_id: + type: string + description: A unique identifier for the associated template. + description: > + A subset of the property fields described by the corresponding + :type:`PropertyGroupTemplate`. Properties are always added to a Dropbox + file as a :type:`PropertyGroup`. The possible key names and value types + in this group are defined by the corresponding + :type:`PropertyGroupTemplate`. + + template_id: A unique identifier for the associated template. + + fields: The actual properties associated with the template. There can be + up to 32 property types per template. + CreateFolderBatchLaunch: + type: object + properties: + .tag: + title: Choice of CreateFolderBatchLaunch + type: string + enum: + - async_job_id + - complete + - other + async_job_id: + type: string + description: >- + This response indicates that the processing is asynchronous. The + string is an id that can be used to obtain the status of the + asynchronous job. + complete: + $ref: '#/components/schemas/CreateFolderBatchResult' + description: > + Result returned by :route:`create_folder_batch` that may either launch + an asynchronous job or complete synchronously. + + async_job_id: This response indicates that the processing is + asynchronous. The string is an id that can be used to obtain the status + of the asynchronous job. + + complete: None + + other: None + ListUsersOnFolderContinueArgs: + type: object + properties: + cursor: + type: string + description: >- + The cursor obtained from :route:`docs/folder_users/list` or + :route:`docs/folder_users/list/continue`. Allows for pagination. + doc_id: + type: string + description: The Paper doc ID. + description: > + doc_id: The Paper doc ID. + + cursor: The cursor obtained from :route:`docs/folder_users/list` or + :route:`docs/folder_users/list/continue`. Allows for pagination. + RelocationBatchError: + type: object + properties: + to: + $ref: '#/components/schemas/WriteError' + from_lookup: + $ref: '#/components/schemas/LookupError' + .tag: + title: Choice of RelocationBatchError + type: string + enum: + - from_lookup + - from_write + - to + - cant_copy_shared_folder + - cant_nest_shared_folder + - cant_move_folder_into_itself + - too_many_files + - duplicated_or_nested_paths + - cant_transfer_ownership + - insufficient_quota + - other + - too_many_write_operations + from_write: + $ref: '#/components/schemas/WriteError' + description: > + from_lookup: None + + from_write: None + + to: None + + cant_copy_shared_folder: Shared folders can't be copied. + + cant_nest_shared_folder: Your move operation would result in nested + shared folders. This is not allowed. + + cant_move_folder_into_itself: You cannot move a folder into itself. + + too_many_files: The operation would involve more than 10,000 files and + folders. + + duplicated_or_nested_paths: There are duplicated/nested paths among + :field:`RelocationArg.from_path` and :field:`RelocationArg.to_path`. + + cant_transfer_ownership: Your move operation would result in an + ownership transfer. You may reissue the request with the field + :field:`RelocationArg.allow_ownership_transfer` to true. + + insufficient_quota: The current user does not have enough space to move + or copy the files. + + other: None + + too_many_write_operations: There are too many write operations in user's + Dropbox. Please retry this request. + UnshareFileError: + type: object + properties: + access_error: + $ref: '#/components/schemas/SharingFileAccessError' + .tag: + title: Choice of UnshareFileError + type: string + enum: + - user_error + - access_error + - other + user_error: + $ref: '#/components/schemas/SharingUserError' + description: | + Error result for :route:`unshare_file`. + user_error: None + access_error: None + other: None + SearchMatchType: + type: object + properties: + .tag: + title: Choice of SearchMatchType + type: string + enum: + - filename + - content + - both + description: > + Indicates what type of match was found for a given item. + + filename: This item was matched on its file or folder name. + + content: This item was matched based on its file contents. + + both: This item was matched based on both its contents and its file + name. + SharedFileMembers: + type: object + properties: + cursor: + type: string + description: >- + Present if there are additional shared file members that have not + been returned yet. Pass the cursor into + :route:`list_file_members/continue` to list additional members. + users: + type: array + description: The list of user members of the shared file. + items: + $ref: '#/components/schemas/UserFileMembershipInfo' + groups: + type: array + description: The list of group members of the shared file. + items: + $ref: '#/components/schemas/GroupMembershipInfo' + invitees: + type: array + description: >- + The list of invited members of a file, but have not logged in and + claimed this. + items: + $ref: '#/components/schemas/InviteeMembershipInfo' + description: > + Shared file user, group, and invitee membership. + + Used for the results of :route:`list_file_members` and + :route:`list_file_members/continue`, and used as part of the results for + :route:`list_file_members/batch`. + + users: The list of user members of the shared file. + + groups: The list of group members of the shared file. + + invitees: The list of invited members of a file, but have not logged in + and claimed this. + + cursor: Present if there are additional shared file members that have + not been returned yet. Pass the cursor into + :route:`list_file_members/continue` to list additional members. + WriteError: + type: object + properties: + malformed_path: + type: string + .tag: + title: Choice of WriteError + type: string + enum: + - malformed_path + - conflict + - no_write_permission + - insufficient_space + - disallowed_name + - team_folder + - too_many_write_operations + - other + conflict: + $ref: '#/components/schemas/WriteConflictError' + description: > + malformed_path: None + + conflict: Couldn't write to the target path because there was something + in the way. + + no_write_permission: The user doesn't have permissions to write to the + target location. + + insufficient_space: The user doesn't have enough available space (bytes) + to write more data. + + disallowed_name: Dropbox will not save the file or folder because of its + name. + + team_folder: This endpoint cannot move or delete team folders. + + too_many_write_operations: There are too many write operations in user's + Dropbox. Please retry this request. + + other: None + FileAction: + type: object + properties: + .tag: + title: Choice of FileAction + type: string + enum: + - disable_viewer_info + - edit_contents + - enable_viewer_info + - invite_viewer + - invite_viewer_no_comment + - unshare + - relinquish_membership + - share_link + - create_link + - other + description: > + Sharing actions that may be taken on files. + + disable_viewer_info: Disable viewer information on the file. + + edit_contents: Change or edit contents of the file. + + enable_viewer_info: Enable viewer information on the file. + + invite_viewer: Add a member with view permissions. + + invite_viewer_no_comment: Add a member with view permissions but no + comment permissions. + + unshare: Stop sharing this file. + + relinquish_membership: Relinquish one's own membership to the file. + + share_link: Use create_link instead. + + create_link: Create a shared link to the file. + + other: None + PropertiesSearchMatch: + type: object + properties: + path: + type: string + description: The path for the matched file or folder. + is_deleted: + type: boolean + description: Whether the file or folder is deleted. + id: + type: string + description: The ID for the matched file or folder. + property_groups: + type: array + description: List of custom property groups associated with the file. + items: + $ref: '#/components/schemas/PropertyGroup' + description: > + id: The ID for the matched file or folder. + + path: The path for the matched file or folder. + + is_deleted: Whether the file or folder is deleted. + + property_groups: List of custom property groups associated with the + file. + MemberPolicy: + type: object + properties: + .tag: + title: Choice of MemberPolicy + type: string + enum: + - team + - anyone + - other + description: > + Policy governing who can be a member of a shared folder. Only applicable + to folders owned by a user on a team. + + team: Only a teammate can become a member. + + anyone: Anyone can become a member. + + other: None + UploadWriteFailed: + type: object + properties: + reason: + $ref: '#/components/schemas/WriteError' + upload_session_id: + type: string + description: >- + The upload session ID; data has already been uploaded to the + corresponding upload session and this ID may be used to retry the + commit with :route:`upload_session/finish`. + description: > + reason: The reason why the file couldn't be saved. + + upload_session_id: The upload session ID; data has already been uploaded + to the corresponding upload session and this ID may be used to retry the + commit with :route:`upload_session/finish`. + LaunchEmptyResult: + type: object + properties: + .tag: + title: Choice of LaunchEmptyResult + type: string + enum: + - async_job_id + - complete + async_job_id: + type: string + description: >- + This response indicates that the processing is asynchronous. The + string is an id that can be used to obtain the status of the + asynchronous job. + description: > + Result returned by methods that may either launch an asynchronous job or + complete synchronously. Upon synchronous completion of the job, no + additional information is returned. + + async_job_id: This response indicates that the processing is + asynchronous. The string is an id that can be used to obtain the status + of the asynchronous job. + + complete: The job finished synchronously and successfully. + OfficeAddInPolicy: + type: object + properties: + .tag: + title: Choice of OfficeAddInPolicy + type: string + enum: + - disabled + - enabled + - other + description: | + disabled: Office Add-In is disabled. + enabled: Office Add-In is enabled. + other: None + PaperDocUpdateError: + type: object + properties: + .tag: + title: Choice of PaperDocUpdateError + type: string + enum: + - insufficient_permissions + - other + - doc_not_found + - content_malformed + - revision_mismatch + - doc_length_exceeded + - image_size_exceeded + - doc_archived + - doc_deleted + description: > + insufficient_permissions: Your account does not have permissions to + perform this action. + + other: None + + doc_not_found: The required doc was not found. + + content_malformed: The provided content was malformed and cannot be + imported to Paper. + + revision_mismatch: The provided revision does not match the document + head. + + doc_length_exceeded: The newly created Paper doc would be too large, + split the content into multiple docs. + + image_size_exceeded: The imported document contains an image that is too + large. The current limit is 1MB. Note: This only applies to HTML with + data uri. + + doc_archived: This operation is not allowed on archived Paper docs. + + doc_deleted: This operation is not allowed on deleted Paper docs. + UploadSessionFinishError: + type: object + properties: + properties_error: + $ref: '#/components/schemas/InvalidPropertyGroupError' + path: + $ref: '#/components/schemas/WriteError' + .tag: + title: Choice of UploadSessionFinishError + type: string + enum: + - lookup_failed + - path + - properties_error + - too_many_shared_folder_targets + - too_many_write_operations + - other + lookup_failed: + $ref: '#/components/schemas/UploadSessionLookupError' + description: > + lookup_failed: The session arguments are incorrect; the value explains + the reason. + + path: Unable to save the uploaded contents to a file. Data has already + been appended to the upload session. Please retry with empty data body + and updated offset. + + properties_error: The supplied property group is invalid. The file has + uploaded without property groups. + + too_many_shared_folder_targets: The batch request commits files into too + many different shared folders. Please limit your batch request to files + contained in a single shared folder. + + too_many_write_operations: There are too many write operations happening + in the user's Dropbox. You should retry uploading this file. + + other: None + RemoveTemplateArg: + type: object + properties: + template_id: + type: string + description: >- + An identifier for a template created by + :route:`templates/add_for_user` or :route:`templates/add_for_team`. + description: > + template_id: An identifier for a template created by + :route:`templates/add_for_user` or :route:`templates/add_for_team`. + ResolvedVisibility: + type: object + properties: + .tag: + title: Choice of ResolvedVisibility + type: string + enum: + - public + - team_only + - password + - team_and_password + - shared_folder_only + - other + description: > + The actual access permissions values of shared links after taking into + account user preferences and the team and shared folder settings. Check + the :type:`RequestedVisibility` for more info on the possible visibility + values that can be set by the shared link's owner. + + public: Anyone who has received the link can access it. No login + required. + + team_only: Only members of the same team can access the link. Login is + required. + + password: A link-specific password is required to access the link. Login + is not required. + + team_and_password: Only members of the same team who have the + link-specific password can access the link. Login is required. + + shared_folder_only: Only members of the shared folder containing the + linked file can access the link. Login is required. + + other: None + PaperDocCreateUpdateResult: + type: object + properties: + title: + type: string + description: The Paper doc title. + doc_id: + type: string + description: Doc ID of the newly created doc. + revision: + type: number + description: The Paper doc revision. Simply an ever increasing number. + description: | + doc_id: Doc ID of the newly created doc. + revision: The Paper doc revision. Simply an ever increasing number. + title: The Paper doc title. + FolderMetadata: + type: object + properties: + parent_shared_folder_id: + type: string + description: >- + Please use :field:`FileSharingInfo.parent_shared_folder_id` or + :field:`FolderSharingInfo.parent_shared_folder_id` instead. + name: + type: string + description: >- + The last component of the path (including extension). This never + contains a slash. + path_display: + type: string + description: >- + The cased path to be used for display purposes only. In rare + instances the casing will not correctly match the user's filesystem, + but this behavior will match the path provided in the Core API v1, + and at least the last path component will have the correct casing. + Changes to only the casing of paths won't be returned by + :route:`list_folder/continue`. This field will be null if the file + or folder is not mounted. + shared_folder_id: + type: string + description: Please use :field:`sharing_info` instead. + path_lower: + type: string + description: >- + The lowercased full path in the user's Dropbox. This always starts + with a slash. This field will be null if the file or folder is not + mounted. + sharing_info: + $ref: '#/components/schemas/FolderSharingInfo' + property_groups: + type: array + description: >- + Additional information if the file has custom properties with the + property template specified. Note that only properties associated + with user-owned templates, not team-owned templates, can be attached + to folders. + items: + $ref: '#/components/schemas/PropertyGroup' + id: + type: string + description: A unique identifier for the folder. + description: > + name: The last component of the path (including extension). This never + contains a slash. + + id: A unique identifier for the folder. + + path_lower: The lowercased full path in the user's Dropbox. This always + starts with a slash. This field will be null if the file or folder is + not mounted. + + path_display: The cased path to be used for display purposes only. In + rare instances the casing will not correctly match the user's + filesystem, but this behavior will match the path provided in the Core + API v1, and at least the last path component will have the correct + casing. Changes to only the casing of paths won't be returned by + :route:`list_folder/continue`. This field will be null if the file or + folder is not mounted. + + parent_shared_folder_id: Please use + :field:`FileSharingInfo.parent_shared_folder_id` or + :field:`FolderSharingInfo.parent_shared_folder_id` instead. + + shared_folder_id: Please use :field:`sharing_info` instead. + + sharing_info: Set if the folder is contained in a shared folder or is a + shared folder mount point. + + property_groups: Additional information if the file has custom + properties with the property template specified. Note that only + properties associated with user-owned templates, not team-owned + templates, can be attached to folders. + UploadSessionOffsetError: + type: object + properties: + correct_offset: + type: number + description: The offset up to which data has been collected. + description: | + correct_offset: The offset up to which data has been collected. + LinkMetadata: + type: object + properties: + url: + type: string + description: URL of the shared link. + expires: + type: string + description: Expiration time, if set. By default the link won't expire. + visibility: + $ref: '#/components/schemas/Visibility' + description: > + Metadata for a shared link. This can be either a + :type:`PathLinkMetadata` or :type:`CollectionLinkMetadata`. + + url: URL of the shared link. + + visibility: Who can access the link. + + expires: Expiration time, if set. By default the link won't expire. + SharedFolderMetadata: + type: object + properties: + owner_team: + $ref: '#/components/schemas/Team' + parent_shared_folder_id: + type: string + description: >- + The ID of the parent shared folder. This field is present only if + the folder is contained within another shared folder. + link_metadata: + $ref: '#/components/schemas/SharedContentLinkMetadata' + time_invited: + type: string + description: >- + Timestamp indicating when the current user was invited to this + shared folder. + preview_url: + type: string + description: URL for displaying a web preview of the shared folder. + access_type: + $ref: '#/components/schemas/AccessLevel' + name: + type: string + description: The name of the this shared folder. + owner_display_names: + type: array + description: >- + The display names of the users that own the folder. If the folder is + part of a team folder, the display names of the team admins are also + included. Absent if the owner display names cannot be fetched. + items: + type: string + access_inheritance: + $ref: '#/components/schemas/AccessInheritance' + shared_folder_id: + type: string + description: The ID of the shared folder. + path_lower: + type: string + description: >- + The lower-cased full path of this shared folder. Absent for + unmounted folders. + policy: + $ref: '#/components/schemas/FolderPolicy' + is_inside_team_folder: + type: boolean + description: Whether this folder is inside of a team folder. + is_team_folder: + type: boolean + description: >- + Whether this folder is a :link:`team folder + https://www.dropbox.com/en/help/986`. + permissions: + type: array + description: >- + Actions the current user may perform on the folder and its contents. + The set of permissions corresponds to the FolderActions in the + request. + items: + $ref: '#/components/schemas/FolderPermission' + description: > + The metadata which includes basic information about the shared folder. + + access_type: The current user's access level for this shared folder. + + is_inside_team_folder: Whether this folder is inside of a team folder. + + is_team_folder: Whether this folder is a :link:`team folder + https://www.dropbox.com/en/help/986`. + + name: The name of the this shared folder. + + policy: Policies governing this shared folder. + + preview_url: URL for displaying a web preview of the shared folder. + + shared_folder_id: The ID of the shared folder. + + time_invited: Timestamp indicating when the current user was invited to + this shared folder. + + owner_display_names: The display names of the users that own the folder. + If the folder is part of a team folder, the display names of the team + admins are also included. Absent if the owner display names cannot be + fetched. + + owner_team: The team that owns the folder. This field is not present if + the folder is not owned by a team. + + parent_shared_folder_id: The ID of the parent shared folder. This field + is present only if the folder is contained within another shared folder. + + path_lower: The lower-cased full path of this shared folder. Absent for + unmounted folders. + + link_metadata: The metadata of the shared content link to this shared + folder. Absent if there is no link on the folder. This is for an + unreleased feature so it may not be returned yet. + + permissions: Actions the current user may perform on the folder and its + contents. The set of permissions corresponds to the FolderActions in the + request. + + access_inheritance: Whether the folder inherits its members from its + parent. + ListSharedLinksResult: + type: object + properties: + has_more: + type: boolean + description: >- + Is true if there are additional shared links that have not been + returned yet. Pass the cursor into :route:`list_shared_links` to + retrieve them. + cursor: + type: string + description: >- + Pass the cursor into :route:`list_shared_links` to obtain the + additional links. Cursor is returned only if no path is given. + links: + type: array + description: Shared links applicable to the path argument. + items: + $ref: '#/components/schemas/SharedLinkMetadata' + description: > + links: Shared links applicable to the path argument. + + has_more: Is true if there are additional shared links that have not + been returned yet. Pass the cursor into :route:`list_shared_links` to + retrieve them. + + cursor: Pass the cursor into :route:`list_shared_links` to obtain the + additional links. Cursor is returned only if no path is given. + UpdateFileRequestError: + type: object + properties: + .tag: + title: Choice of UpdateFileRequestError + type: string + enum: + - disabled_for_team + - other + - not_found + - not_a_folder + - app_lacks_access + - no_permission + - email_unverified + - validation_error + description: > + There is an error updating the file request. + + disabled_for_team: This user's Dropbox Business team doesn't allow file + requests. + + other: None + + not_found: This file request ID was not found. + + not_a_folder: The specified path is not a folder. + + app_lacks_access: This file request is not accessible to this app. Apps + with the app folder permission can only access file requests in their + app folder. + + no_permission: This user doesn't have permission to access or modify + this file request. + + email_unverified: This user's email address is not verified. File + requests are only available on accounts with a verified email address. + Users can verify their email address :link:`here + https://www.dropbox.com/help/317`. + + validation_error: There was an error validating the request. For + example, the title was invalid, or there were disallowed characters in + the destination path. + CreateFolderResult: + type: object + properties: + metadata: + $ref: '#/components/schemas/FolderMetadata' + description: | + metadata: Metadata of the created folder. + RelocationBatchResultData: + type: object + properties: + metadata: + $ref: '#/components/schemas/Metadata' + description: | + metadata: Metadata of the relocated object. + Visibility: + type: object + properties: + .tag: + title: Choice of Visibility + type: string + enum: + - public + - team_only + - password + - team_and_password + - shared_folder_only + - other + description: > + Who can access a shared link. The most open visibility is + :field:`public`. The default depends on many aspects, such as team and + user preferences and shared folder settings. + + public: Anyone who has received the link can access it. No login + required. + + team_only: Only members of the same team can access the link. Login is + required. + + password: A link-specific password is required to access the link. Login + is not required. + + team_and_password: Only members of the same team who have the + link-specific password can access the link. + + shared_folder_only: Only members of the shared folder containing the + linked file can access the link. Login is required. + + other: None + DownloadArg: + type: object + properties: + path: + type: string + description: The path of the file to download. + rev: + type: string + description: Please specify revision in :field:`path` instead. + description: | + path: The path of the file to download. + rev: Please specify revision in :field:`path` instead. + SharePathError: + type: object + properties: + .tag: + title: Choice of SharePathError + type: string + enum: + - is_file + - inside_shared_folder + - contains_shared_folder + - contains_app_folder + - contains_team_folder + - is_app_folder + - inside_app_folder + - is_public_folder + - inside_public_folder + - already_shared + - invalid_path + - is_osx_package + - inside_osx_package + - other + already_shared: + $ref: '#/components/schemas/SharedFolderMetadata' + description: > + is_file: A file is at the specified path. + + inside_shared_folder: We do not support sharing a folder inside a shared + folder. + + contains_shared_folder: We do not support shared folders that contain + shared folders. + + contains_app_folder: We do not support shared folders that contain app + folders. + + contains_team_folder: We do not support shared folders that contain team + folders. + + is_app_folder: We do not support sharing an app folder. + + inside_app_folder: We do not support sharing a folder inside an app + folder. + + is_public_folder: A public folder can't be shared this way. Use a public + link instead. + + inside_public_folder: A folder inside a public folder can't be shared + this way. Use a public link instead. + + already_shared: Folder is already shared. Contains metadata about the + existing shared folder. + + invalid_path: Path is not valid. + + is_osx_package: We do not support sharing a Mac OS X package. + + inside_osx_package: We do not support sharing a folder inside a Mac OS X + package. + + other: None + DeleteError: + type: object + properties: + path_lookup: + $ref: '#/components/schemas/LookupError' + .tag: + title: Choice of DeleteError + type: string + enum: + - path_lookup + - path_write + - too_many_write_operations + - too_many_files + - other + path_write: + $ref: '#/components/schemas/WriteError' + description: > + path_lookup: None + + path_write: None + + too_many_write_operations: There are too many write operations in user's + Dropbox. Please retry this request. + + too_many_files: There are too many files in one request. Please retry + with fewer files. + + other: None + CreateFileRequestArgs: + type: object + properties: + open: + type: boolean + description: >- + Whether or not the file request should be open. If the file request + is closed, it will not accept any file submissions, but it can be + opened later. + destination: + type: string + description: >- + The path of the folder in the Dropbox where uploaded files will be + sent. For apps with the app folder permission, this will be relative + to the app folder. + deadline: + $ref: '#/components/schemas/FileRequestDeadline' + title: + type: string + description: The title of the file request. Must not be empty. + description: > + Arguments for :route:`create`. + + title: The title of the file request. Must not be empty. + + destination: The path of the folder in the Dropbox where uploaded files + will be sent. For apps with the app folder permission, this will be + relative to the app folder. + + deadline: The deadline for the file request. Deadlines can only be set + by Pro and Business accounts. + + open: Whether or not the file request should be open. If the file + request is closed, it will not accept any file submissions, but it can + be opened later. + ChangeFileMemberAccessArgs: + type: object + properties: + member: + $ref: '#/components/schemas/MemberSelector' + access_level: + $ref: '#/components/schemas/AccessLevel' + file: + type: string + description: File for which we are changing a member's access. + description: | + Arguments for :route:`change_file_member_access`. + file: File for which we are changing a member's access. + member: The member whose access we are changing. + access_level: The new access level for the member. + ListFolderContinueError: + type: object + properties: + path: + $ref: '#/components/schemas/LookupError' + .tag: + title: Choice of ListFolderContinueError + type: string + enum: + - path + - reset + - other + description: > + path: None + + reset: Indicates that the cursor has been invalidated. Call + :route:`list_folder` to obtain a new cursor. + + other: None + UnshareFolderArg: + type: object + properties: + shared_folder_id: + type: string + description: The ID for the shared folder. + leave_a_copy: + type: boolean + description: >- + If true, members of this shared folder will get a copy of this + folder after it's unshared. Otherwise, it will be removed from their + Dropbox. The current user, who is an owner, will always retain their + copy. + description: > + shared_folder_id: The ID for the shared folder. + + leave_a_copy: If true, members of this shared folder will get a copy of + this folder after it's unshared. Otherwise, it will be removed from + their Dropbox. The current user, who is an owner, will always retain + their copy. + TemplateFilterBase: + type: object + properties: + filter_some: + type: array + description: >- + Only templates with an ID in the supplied list will be returned (a + subset of templates will be returned). + items: + type: string + .tag: + title: Choice of TemplateFilterBase + type: string + enum: + - filter_some + - other + description: > + filter_some: Only templates with an ID in the supplied list will be + returned (a subset of templates will be returned). + + other: None + UserOnPaperDocFilter: + type: object + properties: + .tag: + title: Choice of UserOnPaperDocFilter + type: string + enum: + - visited + - shared + - other + description: > + visited: all users who have visited the Paper doc. + + shared: All uses who are shared on the Paper doc. This includes all + users who have visited the Paper doc as well as those who have not. + + other: None + UploadSessionFinishArg: + type: object + properties: + cursor: + $ref: '#/components/schemas/UploadSessionCursor' + commit: + $ref: '#/components/schemas/CommitInfo' + description: | + cursor: Contains the upload session ID and the offset. + commit: Contains the path and other optional modifiers for the commit. + FullAccount: + type: object + properties: + referral_link: + type: string + description: The user's :link:`referral link https://www.dropbox.com/referrals`. + account_type: + $ref: '#/components/schemas/AccountType' + account_id: + type: string + description: The user's unique Dropbox ID. + locale: + type: string + description: >- + The language that the user specified. Locale tags will be + :link:`IETF language tags + http://en.wikipedia.org/wiki/IETF_language_tag`. + email_verified: + type: boolean + description: Whether the user has verified their e-mail address. + team_member_id: + type: string + description: >- + This account's unique team member id. This field will only be + present if :field:`team` is present. + root_info: + $ref: '#/components/schemas/RootInfo' + disabled: + type: boolean + description: Whether the user has been disabled. + is_paired: + type: boolean + description: >- + Whether the user has a personal and work account. If the current + account is personal, then :field:`team` will always be :val:`null`, + but :field:`is_paired` will indicate if a work account is linked. + team: + $ref: '#/components/schemas/FullTeam' + country: + type: string + description: >- + The user's two-letter country code, if available. Country codes are + based on :link:`ISO 3166-1 http://en.wikipedia.org/wiki/ISO_3166-1`. + email: + type: string + description: >- + The user's e-mail address. Do not rely on this without checking the + :field:`email_verified` field. Even then, it's possible that the + user has since lost access to their e-mail. + profile_photo_url: + type: string + description: URL for the photo representing the user, if one is set. + name: + $ref: '#/components/schemas/Name' + description: > + Detailed information about the current user's account. + + account_id: The user's unique Dropbox ID. + + name: Details of a user's name. + + email: The user's e-mail address. Do not rely on this without checking + the :field:`email_verified` field. Even then, it's possible that the + user has since lost access to their e-mail. + + email_verified: Whether the user has verified their e-mail address. + + disabled: Whether the user has been disabled. + + locale: The language that the user specified. Locale tags will be + :link:`IETF language tags + http://en.wikipedia.org/wiki/IETF_language_tag`. + + referral_link: The user's :link:`referral link + https://www.dropbox.com/referrals`. + + is_paired: Whether the user has a personal and work account. If the + current account is personal, then :field:`team` will always be + :val:`null`, but :field:`is_paired` will indicate if a work account is + linked. + + account_type: What type of account this user has. + + root_info: The root info for this account. + + profile_photo_url: URL for the photo representing the user, if one is + set. + + country: The user's two-letter country code, if available. Country codes + are based on :link:`ISO 3166-1 http://en.wikipedia.org/wiki/ISO_3166-1`. + + team: If this account is a member of a team, information about that + team. + + team_member_id: This account's unique team member id. This field will + only be present if :field:`team` is present. + CreateSharedLinkError: + type: object + properties: + path: + $ref: '#/components/schemas/LookupError' + .tag: + title: Choice of CreateSharedLinkError + type: string + enum: + - path + - other + description: | + path: None + other: None + PathLinkMetadata: + type: object + properties: + url: + type: string + description: URL of the shared link. + path: + type: string + description: Path in user's Dropbox. + expires: + type: string + description: Expiration time, if set. By default the link won't expire. + visibility: + $ref: '#/components/schemas/Visibility' + description: | + Metadata for a path-based shared link. + url: URL of the shared link. + visibility: Who can access the link. + path: Path in user's Dropbox. + expires: Expiration time, if set. By default the link won't expire. + TransferFolderArg: + type: object + properties: + shared_folder_id: + type: string + description: The ID for the shared folder. + to_dropbox_id: + type: string + description: A account or team member ID to transfer ownership to. + description: | + shared_folder_id: The ID for the shared folder. + to_dropbox_id: A account or team member ID to transfer ownership to. + AlphaGetMetadataError: + type: object + properties: + properties_error: + $ref: '#/components/schemas/LookUpPropertiesError' + path: + $ref: '#/components/schemas/LookupError' + .tag: + title: Choice of AlphaGetMetadataError + type: string + enum: + - path + - properties_error + description: | + path: None + properties_error: None + RemoveFolderMemberError: + type: object + properties: + access_error: + $ref: '#/components/schemas/SharedFolderAccessError' + .tag: + title: Choice of RemoveFolderMemberError + type: string + enum: + - access_error + - member_error + - folder_owner + - group_access + - team_folder + - no_permission + - too_many_files + - other + member_error: + $ref: '#/components/schemas/SharedFolderMemberError' + description: > + access_error: None + + member_error: None + + folder_owner: The target user is the owner of the shared folder. You + can't remove this user until ownership has been transferred to another + member. + + group_access: The target user has access to the shared folder via a + group. + + team_folder: This action cannot be performed on a team shared folder. + + no_permission: The current user does not have permission to perform this + action. + + too_many_files: This shared folder has too many files for leaving a + copy. You can still remove this user without leaving a copy. + + other: None + GetFileRequestError: + type: object + properties: + .tag: + title: Choice of GetFileRequestError + type: string + enum: + - disabled_for_team + - other + - not_found + - not_a_folder + - app_lacks_access + - no_permission + - email_unverified + - validation_error + description: > + There was an error retrieving the specified file request. + + disabled_for_team: This user's Dropbox Business team doesn't allow file + requests. + + other: None + + not_found: This file request ID was not found. + + not_a_folder: The specified path is not a folder. + + app_lacks_access: This file request is not accessible to this app. Apps + with the app folder permission can only access file requests in their + app folder. + + no_permission: This user doesn't have permission to access or modify + this file request. + + email_unverified: This user's email address is not verified. File + requests are only available on accounts with a verified email address. + Users can verify their email address :link:`here + https://www.dropbox.com/help/317`. + + validation_error: There was an error validating the request. For + example, the title was invalid, or there were disallowed characters in + the destination path. + FileRequestDeadline: + type: object + properties: + deadline: + type: string + description: The deadline for this file request. + allow_late_uploads: + $ref: '#/components/schemas/GracePeriod' + description: > + deadline: The deadline for this file request. + + allow_late_uploads: If set, allow uploads after the deadline has passed. + These uploads will be marked overdue. + InsufficientPlan: + type: object + 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. + 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. + PaperDocUpdatePolicy: + type: object + properties: + .tag: + title: Choice of PaperDocUpdatePolicy + type: string + enum: + - append + - prepend + - overwrite_all + - other + description: > + append: The content will be appended to the doc. + + prepend: The content will be prepended to the doc. + + Note: the doc title will not be affected. + + overwrite_all: The document will be overwitten at the head with the + provided content. + + other: None + UploadSessionFinishBatchArg: + type: object + properties: + entries: + type: array + description: Commit information for each file in the batch. + items: + $ref: '#/components/schemas/UploadSessionFinishArg' + description: | + entries: Commit information for each file in the batch. + Dimensions: + type: object + properties: + width: + type: number + description: Width of the photo/video. + height: + type: number + description: Height of the photo/video. + description: | + Dimensions for a photo or video. + height: Height of the photo/video. + width: Width of the photo/video. + PropertiesSearchError: + type: object + properties: + .tag: + title: Choice of PropertiesSearchError + type: string + enum: + - property_group_lookup + - other + property_group_lookup: + $ref: '#/components/schemas/LookUpPropertiesError' + description: | + property_group_lookup: None + other: None + GetFileMetadataError: + type: object + properties: + access_error: + $ref: '#/components/schemas/SharingFileAccessError' + .tag: + title: Choice of GetFileMetadataError + type: string + enum: + - user_error + - access_error + - other + user_error: + $ref: '#/components/schemas/SharingUserError' + description: | + Error result for :route:`get_file_metadata`. + user_error: None + access_error: None + other: None + GetTemplateResult: + type: object + properties: + fields: + type: array + description: >- + Definitions of the property fields associated with this template. + There can be up to 32 properties in a single template. + items: + $ref: '#/components/schemas/PropertyFieldTemplate' + name: + type: string + description: >- + Display name for the template. Template names can be up to 256 + bytes. + description: + type: string + description: >- + Description for the template. Template descriptions can be up to + 1024 bytes. + description: > + name: Display name for the template. Template names can be up to 256 + bytes. + + description: Description for the template. Template descriptions can be + up to 1024 bytes. + + fields: Definitions of the property fields associated with this + template. There can be up to 32 properties in a single template. + LookupError: + type: object + properties: + malformed_path: + type: string + .tag: + title: Choice of LookupError + type: string + enum: + - malformed_path + - not_found + - not_file + - not_folder + - restricted_content + - other + description: > + malformed_path: None + + not_found: There is nothing at the given path. + + not_file: We were expecting a file, but the given path refers to + something that isn't a file. + + not_folder: We were expecting a folder, but the given path refers to + something that isn't a folder. + + restricted_content: The file cannot be transferred because the content + is restricted. For example, sometimes there are legal restrictions due + to copyright claims. + + other: None + CreateFolderBatchJobStatus: + type: object + properties: + failed: + $ref: '#/components/schemas/CreateFolderBatchError' + .tag: + title: Choice of CreateFolderBatchJobStatus + type: string + enum: + - in_progress + - complete + - failed + - other + complete: + $ref: '#/components/schemas/CreateFolderBatchResult' + description: | + in_progress: The asynchronous job is still in progress. + complete: The batch create folder has finished. + failed: The batch create folder has failed. + other: None + ListTemplateResult: + type: object + properties: + template_ids: + type: array + description: >- + List of identifiers for templates added by See + :route:`templates/add_for_user` or :route:`templates/add_for_team`. + items: + type: string + description: > + template_ids: List of identifiers for templates added by See + :route:`templates/add_for_user` or :route:`templates/add_for_team`. + TemplateError: + type: object + properties: + .tag: + title: Choice of TemplateError + type: string + enum: + - template_not_found + - restricted_content + - other + template_not_found: + type: string + description: Template does not exist for the given identifier. + description: | + template_not_found: Template does not exist for the given identifier. + restricted_content: You do not have permission to modify this template. + other: None + GetCopyReferenceResult: + type: object + properties: + expires: + type: string + description: >- + The expiration date of the copy reference. This value is currently + set to be far enough in the future so that expiration is effectively + not an issue. + copy_reference: + type: string + description: A copy reference to the file or folder. + metadata: + $ref: '#/components/schemas/Metadata' + description: > + metadata: Metadata of the file or folder. + + copy_reference: A copy reference to the file or folder. + + expires: The expiration date of the copy reference. This value is + currently set to be far enough in the future so that expiration is + effectively not an issue. + PropertiesSearchMode: + type: object + properties: + .tag: + title: Choice of PropertiesSearchMode + type: string + enum: + - field_name + - other + field_name: + type: string + description: Search for a value associated with this field name. + description: | + field_name: Search for a value associated with this field name. + other: None + RelocationArg: + type: object + properties: + allow_ownership_transfer: + type: boolean + description: >- + Allow moves by owner even if it would result in an ownership + transfer for the content being moved. This does not apply to copies. + from_path: + type: string + description: Path in the user's Dropbox to be copied or moved. + to_path: + type: string + description: Path in the user's Dropbox that is the destination. + autorename: + type: boolean + description: >- + If there's a conflict, have the Dropbox server try to autorename the + file to avoid the conflict. + allow_shared_folder: + type: boolean + description: >- + If true, :route:`copy` will copy contents in shared folder, + otherwise :field:`RelocationError.cant_copy_shared_folder` will be + returned if :field:`from_path` contains shared folder. This field is + always true for :route:`move`. + description: > + from_path: Path in the user's Dropbox to be copied or moved. + + to_path: Path in the user's Dropbox that is the destination. + + allow_shared_folder: If true, :route:`copy` will copy contents in shared + folder, otherwise :field:`RelocationError.cant_copy_shared_folder` will + be returned if :field:`from_path` contains shared folder. This field is + always true for :route:`move`. + + autorename: If there's a conflict, have the Dropbox server try to + autorename the file to avoid the conflict. + + allow_ownership_transfer: Allow moves by owner even if it would result + in an ownership transfer for the content being moved. This does not + apply to copies. + AlphaGetMetadataArg: + type: object + properties: + include_property_groups: + $ref: '#/components/schemas/TemplateFilterBase' + include_property_templates: + type: array + description: >- + If set to a valid list of template IDs, + :field:`FileMetadata.property_groups` is set for files with custom + properties. + items: + type: string + include_has_explicit_shared_members: + type: boolean + description: >- + If true, the results will include a flag for each file indicating + whether or not that file has any explicit members. + include_deleted: + type: boolean + description: >- + If true, :type:`DeletedMetadata` will be returned for deleted file + or folder, otherwise :field:`LookupError.not_found` will be + returned. + include_media_info: + type: boolean + description: >- + If true, :field:`FileMetadata.media_info` is set for photo and + video. + path: + type: string + description: The path of a file or folder on Dropbox. + description: > + path: The path of a file or folder on Dropbox. + + include_media_info: If true, :field:`FileMetadata.media_info` is set for + photo and video. + + include_deleted: If true, :type:`DeletedMetadata` will be returned for + deleted file or folder, otherwise :field:`LookupError.not_found` will be + returned. + + include_has_explicit_shared_members: If true, the results will include a + flag for each file indicating whether or not that file has any explicit + members. + + include_property_groups: If set to a valid list of template IDs, + :field:`FileMetadata.property_groups` is set if there exists property + data associated with the file and each of the listed templates. + + include_property_templates: If set to a valid list of template IDs, + :field:`FileMetadata.property_groups` is set for files with custom + properties. + ListUsersCursorError: + type: object + properties: + cursor_error: + $ref: '#/components/schemas/PaperApiCursorError' + .tag: + title: Choice of ListUsersCursorError + type: string + enum: + - insufficient_permissions + - other + - doc_not_found + - cursor_error + description: > + insufficient_permissions: Your account does not have permissions to + perform this action. + + other: None + + doc_not_found: The required doc was not found. + + cursor_error: None + UploadSessionCursor: + type: object + properties: + session_id: + type: string + description: The upload session ID (returned by :route:`upload_session/start`). + offset: + type: number + description: >- + The amount of data that has been uploaded so far. We use this to + make sure upload data isn't lost or duplicated in the event of a + network error. + description: > + session_id: The upload session ID (returned by + :route:`upload_session/start`). + + offset: The amount of data that has been uploaded so far. We use this to + make sure upload data isn't lost or duplicated in the event of a network + error. + ListFolderMembersContinueError: + type: object + properties: + access_error: + $ref: '#/components/schemas/SharedFolderAccessError' + .tag: + title: Choice of ListFolderMembersContinueError + type: string + enum: + - access_error + - invalid_cursor + - other + description: | + access_error: None + invalid_cursor: :field:`ListFolderMembersContinueArg.cursor` is invalid. + other: None + RestoreArg: + type: object + properties: + path: + type: string + description: The path to the file you want to restore. + rev: + type: string + description: The revision to restore for the file. + description: | + path: The path to the file you want to restore. + rev: The revision to restore for the file. + MediaMetadata: + type: object + properties: + dimensions: + $ref: '#/components/schemas/Dimensions' + location: + $ref: '#/components/schemas/GpsCoordinates' + time_taken: + type: string + description: The timestamp when the photo/video is taken. + description: | + Metadata for a photo or video. + dimensions: Dimension of the photo/video. + location: The GPS coordinate of the photo/video. + time_taken: The timestamp when the photo/video is taken. + DeleteBatchJobStatus: + type: object + properties: + failed: + $ref: '#/components/schemas/DeleteBatchError' + .tag: + title: Choice of DeleteBatchJobStatus + type: string + enum: + - in_progress + - complete + - failed + - other + complete: + $ref: '#/components/schemas/DeleteBatchResult' + description: | + in_progress: The asynchronous job is still in progress. + complete: The batch delete has finished. + failed: The batch delete has failed. + other: None + RemoveFileMemberError: + type: object + properties: + access_error: + $ref: '#/components/schemas/SharingFileAccessError' + .tag: + title: Choice of RemoveFileMemberError + type: string + enum: + - user_error + - access_error + - no_explicit_access + - other + user_error: + $ref: '#/components/schemas/SharingUserError' + no_explicit_access: + $ref: '#/components/schemas/MemberAccessLevelResult' + description: > + Errors for :route:`remove_file_member_2`. + + user_error: None + + access_error: None + + no_explicit_access: This member does not have explicit access to the + file and therefore cannot be removed. The return value is the access + that a user might have to the file from a parent folder. + + other: None + CreateFolderError: + type: object + properties: + path: + $ref: '#/components/schemas/WriteError' + .tag: + title: Choice of CreateFolderError + type: string + enum: + - path + description: | + path: None + ListRevisionsMode: + type: object + properties: + .tag: + title: Choice of ListRevisionsMode + type: string + enum: + - path + - id + - other + description: > + path: Returns revisions with the same file path as identified by the + latest file entry at the given file path or id. + + id: Returns revisions with the same file id as identified by the latest + file entry at the given file path or id. + + other: None + DeleteBatchLaunch: + type: object + properties: + .tag: + title: Choice of DeleteBatchLaunch + type: string + enum: + - async_job_id + - complete + - other + async_job_id: + type: string + description: >- + This response indicates that the processing is asynchronous. The + string is an id that can be used to obtain the status of the + asynchronous job. + complete: + $ref: '#/components/schemas/DeleteBatchResult' + description: > + Result returned by :route:`delete_batch` that may either launch an + asynchronous job or complete synchronously. + + async_job_id: This response indicates that the processing is + asynchronous. The string is an id that can be used to obtain the status + of the asynchronous job. + + complete: None + + other: None + TokenFromOAuth1Arg: + type: object + properties: + oauth1_token: + type: string + description: The supplied OAuth 1.0 access token. + oauth1_token_secret: + type: string + description: The token secret associated with the supplied access token. + description: > + oauth1_token: The supplied OAuth 1.0 access token. + + oauth1_token_secret: The token secret associated with the supplied + access token. + ListUsersOnPaperDocResponse: + type: object + properties: + cursor: + $ref: '#/components/schemas/Cursor' + has_more: + type: boolean + description: >- + Will be set to True if a subsequent call with the provided cursor to + :route:`docs/users/list/continue` returns immediately with some + results. If set to False please allow some delay before making + another call to :route:`docs/users/list/continue`. + doc_owner: + $ref: '#/components/schemas/UserInfo' + users: + type: array + description: >- + List of users with their respective permission levels that are + invited on the Paper folder. + items: + $ref: '#/components/schemas/UserInfoWithPermissionLevel' + invitees: + type: array + description: >- + List of email addresses with their respective permission levels that + are invited on the Paper doc. + items: + $ref: '#/components/schemas/InviteeInfoWithPermissionLevel' + description: > + invitees: List of email addresses with their respective permission + levels that are invited on the Paper doc. + + users: List of users with their respective permission levels that are + invited on the Paper folder. + + doc_owner: The Paper doc owner. This field is populated on every single + response. + + cursor: Pass the cursor into :route:`docs/users/list/continue` to + paginate through all users. The cursor preserves all properties as + specified in the original call to :route:`docs/users/list`. + + has_more: Will be set to True if a subsequent call with the provided + cursor to :route:`docs/users/list/continue` returns immediately with + some results. If set to False please allow some delay before making + another call to :route:`docs/users/list/continue`. + GetThumbnailBatchError: + type: object + properties: + .tag: + title: Choice of GetThumbnailBatchError + type: string + enum: + - too_many_files + - other + description: | + too_many_files: The operation involves more than 25 files. + other: None + ListFileMembersIndividualResult: + type: object + properties: + access_error: + $ref: '#/components/schemas/SharingFileAccessError' + .tag: + title: Choice of ListFileMembersIndividualResult + type: string + enum: + - result + - access_error + - other + result: + $ref: '#/components/schemas/ListFileMembersCountResult' + description: | + result: The results of the query for this file if it was successful. + access_error: The result of the query for this file if it was an error. + other: None + PropertyField: + type: object + properties: + name: + type: string + description: >- + Key of the property field associated with a file and template. Keys + can be up to 256 bytes. + value: + type: string + description: >- + Value of the property field associated with a file and template. + Values can be up to 1024 bytes. + description: > + Raw key/value data to be associated with a Dropbox file. Property fields + are added to Dropbox files as a :type:`PropertyGroup`. + + name: Key of the property field associated with a file and template. + Keys can be up to 256 bytes. + + value: Value of the property field associated with a file and template. + Values can be up to 1024 bytes. + PropertiesSearchResult: + type: object + properties: + matches: + type: array + description: A list (possibly empty) of matches for the query. + items: + $ref: '#/components/schemas/PropertiesSearchMatch' + cursor: + type: string + description: >- + Pass the cursor into :route:`properties/search/continue` to continue + to receive search results. Cursor will be null when there are no + more results. + description: > + matches: A list (possibly empty) of matches for the query. + + cursor: Pass the cursor into :route:`properties/search/continue` to + continue to receive search results. Cursor will be null when there are + no more results. + ListPaperDocsFilterBy: + type: object + properties: + .tag: + title: Choice of ListPaperDocsFilterBy + type: string + enum: + - docs_accessed + - docs_created + - other + description: > + docs_accessed: Fetches all Paper doc IDs that the user has ever + accessed. + + docs_created: Fetches only the Paper doc IDs that the user has created. + + other: None + AccessInheritance: + type: object + properties: + .tag: + title: Choice of AccessInheritance + type: string + enum: + - inherit + - no_inherit + - other + description: > + Information about the inheritance policy of a shared folder. + + inherit: The shared folder inherits its members from the parent folder. + + no_inherit: The shared folder does not inherit its members from the + parent folder. + + other: None + ListFolderLongpollResult: + type: object + properties: + changes: + type: boolean + description: >- + Indicates whether new changes are available. If true, call + :route:`list_folder/continue` to retrieve the changes. + backoff: + type: number + description: >- + If present, backoff for at least this many seconds before calling + :route:`list_folder/longpoll` again. + description: > + changes: Indicates whether new changes are available. If true, call + :route:`list_folder/continue` to retrieve the changes. + + backoff: If present, backoff for at least this many seconds before + calling :route:`list_folder/longpoll` again. + AclUpdatePolicy: + type: object + properties: + .tag: + title: Choice of AclUpdatePolicy + type: string + enum: + - owner + - editors + - other + description: > + Who can change a shared folder's access control list (ACL). In other + words, who can add, remove, or change the privileges of members. + + owner: Only the owner can update the ACL. + + editors: Any editor can update the ACL. This may be further restricted + to editors on the same team. + + other: None + ListFileMembersContinueArg: + type: object + properties: + cursor: + type: string + description: >- + The cursor returned by your last call to :route:`list_file_members`, + :route:`list_file_members/continue`, or + :route:`list_file_members/batch`. + description: > + Arguments for :route:`list_file_members/continue`. + + cursor: The cursor returned by your last call to + :route:`list_file_members`, :route:`list_file_members/continue`, or + :route:`list_file_members/batch`. + ListPaperDocsResponse: + type: object + properties: + cursor: + $ref: '#/components/schemas/Cursor' + has_more: + type: boolean + description: >- + Will be set to True if a subsequent call with the provided cursor to + :route:`docs/list/continue` returns immediately with some results. + If set to False please allow some delay before making another call + to :route:`docs/list/continue`. + doc_ids: + type: array + description: >- + The list of Paper doc IDs that can be used to access the given Paper + docs or supplied to other API methods. The list is sorted in the + order specified by the initial call to :route:`docs/list`. + items: + type: string + description: > + doc_ids: The list of Paper doc IDs that can be used to access the given + Paper docs or supplied to other API methods. The list is sorted in the + order specified by the initial call to :route:`docs/list`. + + cursor: Pass the cursor into :route:`docs/list/continue` to paginate + through all files. The cursor preserves all properties as specified in + the original call to :route:`docs/list`. + + has_more: Will be set to True if a subsequent call with the provided + cursor to :route:`docs/list/continue` returns immediately with some + results. If set to False please allow some delay before making another + call to :route:`docs/list/continue`. + RelinquishFileMembershipArg: + type: object + properties: + file: + type: string + description: The path or id for the file. + description: | + file: The path or id for the file. + GetSharedLinksResult: + type: object + properties: + links: + type: array + description: Shared links applicable to the path argument. + items: + $ref: '#/components/schemas/LinkMetadata' + description: | + links: Shared links applicable to the path argument. + CreateFolderEntryError: + type: object + properties: + path: + $ref: '#/components/schemas/WriteError' + .tag: + title: Choice of CreateFolderEntryError + type: string + enum: + - path + - other + description: | + path: None + other: None + LinkAction: + type: object + properties: + .tag: + title: Choice of LinkAction + type: string + enum: + - change_access_level + - change_audience + - remove_expiry + - remove_password + - set_expiry + - set_password + - other + description: | + Actions that can be performed on a link. + change_access_level: Change the access level of the link. + change_audience: Change the audience of the link. + remove_expiry: Remove the expiry date of the link. + remove_password: Remove the password of the link. + set_expiry: Create or modify the expiry date of the link. + set_password: Create or modify the password of the link. + other: None + LinkExpiry: + type: object + properties: + set_expiry: + type: string + description: Set a new expiry or change an existing expiry. + .tag: + title: Choice of LinkExpiry + type: string + enum: + - remove_expiry + - set_expiry + - other + description: | + remove_expiry: Remove the currently set expiry for the link. + set_expiry: Set a new expiry or change an existing expiry. + other: None + PendingUploadMode: + type: object + properties: + .tag: + title: Choice of PendingUploadMode + type: string + enum: + - file + - folder + description: > + Flag to indicate pending upload default (for linking to not-yet-existing + paths). + + file: Assume pending uploads are files. + + folder: Assume pending uploads are folders. + GetSharedLinksError: + type: object + properties: + path: + type: string + .tag: + title: Choice of GetSharedLinksError + type: string + enum: + - path + - other + description: | + path: None + other: None + RelocationBatchJobStatus: + type: object + properties: + failed: + $ref: '#/components/schemas/RelocationBatchError' + .tag: + title: Choice of RelocationBatchJobStatus + type: string + enum: + - in_progress + - complete + - failed + complete: + $ref: '#/components/schemas/RelocationBatchResult' + description: | + in_progress: The asynchronous job is still in progress. + complete: The copy or move batch job has finished. + failed: The copy or move batch job has failed with exception.