Paper Migration Guide

Paper is moving into the Dropbox File System. This guide will help you migrate from the Paper API to Paper in the Dropbox API.

Dropbox Paper API → Dropbox API Migration Guide

Starting in September 25 2019, new Paper users will see Paper docs they create as .paper files alongside their Dropbox content in the filesystem. This is part of an effort to ensure consistency with where Dropbox and Paper content are stored, and their associated sharing and permissions.

As part of this change, any existing /paper/ API endpoints that interact directly with Paper content won’t work for new users whose Paper content is stored alongside their Dropbox content. Instead, the associated /files/ or /sharing/ equivalent API endpoint should be used to interact with a user’s Paper content. Read on for a full list of API endpoints that you should start using to fetch this new .paper file type.

A few other things to note:

  • This change will not affect existing Paper users so you can still use /paper/ endpoints to work with Paper docs created by existing Paper users.
  • Your app can support both new and existing users as long as you use the appropriate endpoints for a given user.
  • We’ll eventually retire the Paper API by September 2020.

The following timeline and guide will help you migrate from using /paper/ endpoints to their equivalent /files/ endpoints to work with a user’s Paper docs in the Dropbox file system:

Timeline

September 25th, 2019

  • New Paper users will see Paper docs they create as .paper files alongside their other Dropbox content.
  • There won’t be any change to new docs created by existing Paper users. Over the coming months, we’ll offer a way for existing users to migrate their docs to .paper files and will eventually migrate all users in September 2020. Once migrations begin, you can check the state of a user (i.e. where their created Paper docs are stored) using the endpoint mentioned in the next section.

September 2020

  • The Paper API will be retired.
  • The /create, /update, and /archive endpoints will not have a Dropbox API equivalent so you won’t be able to programmatically create, update or archive Paper docs.

How you should prepare

September 25th, 2019

  • Start using the Dropbox API to fetch Paper docs that are in a user’s filesystem.
  • If your app already uses the Dropbox API to fetch a user’s files, you’ll start seeing .paper files for any Paper docs created by a Dropbox account created on or after September 25. Read more about the behavior and limitations of .paper files and other online-only files in this blog post.

 


September 2020

  • Ensure that your app uses the Dropbox API to interact with your users’ Paper docs.
  • The /create and /update endpoint will be retired so you can no longer use them.

Determining where a user’s created Paper docs are stored

For a Dropbox account created on or after September 25, 2019, new Paper docs created will be stored in the user’s file system as .paper  files alongside their other Dropbox content.

You can check this using the users/features/get_values endpoint and looking for the feature called paper_as_files.

Note that it is possible for a user to interact with .paper files (Paper docs that reside in their filesystem) and legacy Paper docs (the old model). If you want to fetch all docs that a user has access to, you’ll need to use both the Paper API and the Dropbox API.

Endpoints: Paper API → Dropbox API mapping

Paper API Dropbox API
/paper/docs/create No equivalent.
/paper/docs/update No equivalent.
/paper/docs/download /files/export
/paper/docs/folder_users/list Use /files/get_file_metadata to fetch the doc’s containing folder, then use /sharing/list_folder_members to fetch the folder’s members.
/paper/docs/folder_users/list/continue /sharing/list_folder_members/continue
/paper/docs/get_folder_info /files/get_folder_metadata
/paper/docs/list /files/list_folder (start with the root path with recursive set to True, and then do client-side filtering if you just want the Paper docs)
/paper/docs/list/continue /files/list_folder/continue
/paper/docs/permanently_delete /files/permanently_delete
/paper/docs/sharing_policy/get /sharing/get_shared_link_metadata
/paper/docs/sharing_policy/set /sharing/create_shared_link_with_settings
/paper/docs/users/add /sharing/add_file_member
/paper/docs/users/list /sharing/list_file_members
/paper/docs/users/list/continue /sharing/list_file_members/continue
/paper/docs/users/remove /sharing/remove_file_member_2
/paper/folders/create /files/create_folder_v2
   

Functionality that will be retired for new Paper users

The following endpoints don’t have a Dropbox API equivalent. This means that these actions will not be available for new Paper users created on or after September 25, 2019:

  • /paper/docs/create
  • /paper/docs/update
  • /paper/docs/archive - Archiving docs will no longer be supported but you can delete docs using the /files/delete endpoint instead. An important difference between deleted docs and archived docs is that deleted docs are scheduled to be permanently removed based on the user’s file retention policy (see article) whereas archived docs will indefinitely remain in an archive state and will show up in Paper search results.

These endpoints will return an error in the following scenarios:

  1. If you use them for a user whose Paper docs reside in their filesystem (these are usually Dropbox accounts created after September 25, 2019). You’ll see a permission_denied or invalid_request error.
  2. When we fully retire the Paper API in September 2020. You’ll see a 404 error.

Until then, you can still use these endpoints to create, update, and archive Paper docs for existing Paper users (users whose created docs are not in the Dropbox filesystem).

Need support getting your Paper endpoints migrated? Post a thread in our developer community or submit a ticket to get help from an API expert.