The Dropbox API allows developers to work with files in Dropbox, including advanced functionality like full-text search, thumbnails, and sharing. The Dropbox API explorer is the easiest way to get started making API calls.
In general, the Dropbox API uses HTTP POST requests with JSON arguments and JSON responses. Request authentication is via OAuth 2.0 using the Authorization
request header or authorization
URL parameter.
The .tag
field in an object identifies the subtype of a struct or selected member of a union.
When specifying a Void
member of a union, you may supply just the member string in place of the entire tagged union object. For example, when supplying a WriteMode
, you can supply just "mode": "add"
instead of "mode": {".tag": "add"}}
. This shorthand is not allowed for non-Void
members. For example, the following is not allowed for a WriteMode
, as update
is not a Void
member: "mode": "update"
.
These endpoints accept arguments as JSON in the request body and return results as JSON in the response body. RPC endpoints are on the api.dropboxapi.com
domain.
These endpoints accept file content in the request body, so their arguments are instead passed as JSON in the Dropbox-API-Arg
request header or arg
URL parameter. These endpoints are on the content.dropboxapi.com
domain.
As with content-upload endpoints, arguments are passed in the Dropbox-API-Arg
request header or arg
URL parameter. The response body contains file content, so the result will appear as JSON in the Dropbox-API-Result
response header. These endpoints are also on the content.dropboxapi.com
domain.
These endpoints also support HTTP GET along with ETag
-based caching (If-None-Match
) and HTTP range requests.
For information on how to properly encode the JSON, see the JSON encoding page.
When browser-based JavaScript code makes a cross-site HTTP request, the browser must sometimes send a "pre-flight" check to make sure the server allows cross-site requests. You can avoid the extra round-trip by ensuring your request meets the CORS definition of a "simple cross-site request".
arg
and authorization
instead of HTTP headers Dropbox-API-Arg
and Authorization
.Content-Type
to "text/plain; charset=dropbox-cors-hack" instead of "application/json" or "application/octet-stream".reject_cors_preflight=true
. This makes it easier to catch cases where your code is unintentionally triggering a pre-flight check.All dates in the API use UTC and are strings in the ISO 8601 "combined date and time representation" format:
2015-05-15T15:50:38Z
Paths are relative to an application's root (either an app folder or the root of a user's Dropbox, depending on the app's access type). The empty string (""
) represents the root folder. All other paths must start with a slash (e.g. "/hello/world.txt"
). Paths may not end with a slash or whitespace. For other path restrictions, refer to the help center.
Every file and folder in Dropbox also has an ID (e.g. "id:abc123xyz"
) that can be obtained from any endpoint that returns metadata. These IDs are case-sensitive, so they should always be stored with their case preserved, and always compared in a case-sensitive manner. Some endpoints, as noted in the individual endpoint documentation below, can accept IDs in addition to normal paths. A path relative to a folder's ID can be constructed by using a slash (e.g. "id:abc123xyz/hello.txt"
).
For endpoints that accept performing actions on behalf of a team administrator using the Dropbox-API-Select-Admin header
, files may be referenced using a namespace-relative path (e.g. "ns:123456/cupcake.png"
). In this case, the namespace ID, "123456"
, would be the shared_folder_id
or team_folder_id
of the shared folder or the team folder containing the file or folder, and the path, "/cupcake.png"
, would be the logical path to the content relative to its shared folder or team folder container.
Like in Dropbox itself, paths in the Dropbox API are case-insensitive, meaning that /A/B/c.txt is the same file as /a/b/C.txt and is the same file as /a/B/c.txt.
This can cause problems for apps that store file metadata from users in case-sensitive databases (such as SQLite or Postgres). Case insensitive collations should be used when storing Dropbox path metadata in such databases. Alternatively, developers need to make sure their query operators are explicitly case insensitive.
Also, while Dropbox is case-insensitive, it makes efforts to be case-preserving. Metadata.name
will contain the correct case. Metadata.path_display
usually will contain the correct case, but sometimes only in the last path component. If your app needs the correct case for all path components, it can get it from the Metadata.name
or last path component of each relevant Metadata.path_display
entry.
This API will evolve. Future updates of this API may add new endpoints, parameters, or fields. In order to keep older clients working, the behavior and return values of APIs with given parameter values will not change without advance notice, with two important exceptions: currently undocumented request parameters (whether they are actually ignored or not) may be given a specific meaning, and objects returned in responses may contain additional fields in the future.
Thus, clients that want to be future-proof should avoid passing undocumented parameters (as they may cause different behavior in the future), and they should avoid strict checks on the set of fields in objects found in responses.
For example, you should not consider a Metadata
object invalid if it contains additional fields besides those currently documented below.
Dropbox supports OAuth 2.0 for authorizing API requests. Find out more in our OAuth guide. Authorized requests to the API should use an Authorization
header with the value Bearer <TOKEN>
, where <TOKEN>
is an access token obtained through the OAuth flow.
Access tokens provided by Dropbox should be treated as opaque. Applications must support variable token size with tokens capable of exceeding 1KB. Applications should not depend on details such as access token composition as Dropbox reserves the right to make changes to token contents.
Note: OAuth is an authorization protocol, not an authentication protocol. If you're looking to use Dropbox as an identity provider, check out the Dropbox OpenID Connect Guide.
This starts the OAuth 2.0 authorization flow. This isn't an API call—it's the web page that lets the user sign in to Dropbox and authorize your app. After the user decides whether or not to authorize your app, they will be redirected to the URI specified by redirect_uri
.
OAuth 2.0 supports three authorization flows:
code
flow returns an authorization code via the optional redirect_uri
callback which should then be converted into a bearer access token using the /oauth2/token
call. This is the recommended flow for apps that are running on a server.PKCE
flow is an extension of the code flow that uses dynamically generated codes instead of a secret
to perform an OAuth exchange from public clients. The PKCE flow is a newer, more secure alternative to the token (implicit) flow. It is the recommended flow for client-side apps, such as mobile, desktop, or browser JavaScript apps.token
or implicit grant flow returns the bearer token via the redirect_uri
callback, rather than requiring your app to make a second call to a server. This is useful for pure client-side apps, such as mobile, desktop, or browser JavaScript apps. For more information on the code
and token
flows, see Section 1.3 of the OAuth 2 spec. For more info on the PKCE extension, see RFC 7636
Your app should send the user to this app authorization page in their system browser, which will display the permissions being granted. If the user isn't already signed in to the Dropbox website, they will be prompted to do so on this web page. This web page should not be displayed in a web-view. This is in order to maintain compatibility with the website and to comply with Google's policy against processing their OAuth flow inside a web-view, to support users who sign in to Dropbox using their Google accounts. Learn about the dropbox.com system requirements.
https://www.dropbox.com/oauth2/authorize
Note: This is the only step that requires an endpoint on www.dropbox.com
. All other API requests are done via api.dropboxapi.com
, content.dropboxapi.com
, or notify.dropboxapi.com
.
Example: Auth URL for code flow
https://www.dropbox.com/oauth2/authorize?client_id=<APP_KEY>&response_type=code
Example: Auth URL for code flow with offline token access type
https://www.dropbox.com/oauth2/authorize?client_id=<APP_KEY>&token_access_type=offline&response_type=code
Example: Auth URL for PKCE code flow
https://www.dropbox.com/oauth2/authorize?client_id=<APP_KEY>&response_type=code&code_challenge=<CHALLENGE>&code_challenge_method=<METHOD>
response_type
String The grant type requested, either token
or code
.client_id
String The app's key, found in the App Console.redirect_uri
String? Where to redirect the user after authorization has completed. This must be the exact URI registered in the App Console; even 'localhost' must be listed if it is used for testing. All redirect URIs must be HTTPS except for localhost URIs. A redirect URI is required for the token
flow, but optional for the code
flow. If the redirect URI is omitted, the code
will be presented directly to the user and they will be invited to enter the information in your app.scope
String? This parameter allows your user to authorize a subset of the scopes selected in the App Console. Multiple scopes are separated by a space. If this parameter is omitted, the authorization page will request all scopes selected on the Permissions tab. Read about scopes in the OAuth Guide.include_granted_scopes
String? This parameter is optional. If set to user
, Dropbox will return the currently requested scopes as well as all previously granted user scopes for the user. If set to team
, Dropbox will return the currently requested scopes as well as all previously granted team scopes for the team. The request will fail if this parameter is provided but not set to user
or team
, or if it is set to user
but the scope
contains team scope, or if it is set to team
but the authorizing user is not a team admin. If not set, Dropbox will return only the scopes requested in the scope
parameter.token_access_type
String? If this parameter is set to offline
, then the access token payload returned by a successful /oauth2/token
call will contain a short-lived access_token
and a long-lived refresh_token
that can be used to request a new short-lived access token as long as a user's approval remains valid. If set to online
then only a short-lived access_token
will be returned. If omitted, this parameter defaults to online
.state
String? Up to 2000 bytes of arbitrary data that will be passed back to your redirect URI. This parameter should be used to protect against cross-site request forgery (CSRF). See Sections 4.4.1.8 and 4.4.2.5 of the OAuth 2.0 threat model spec.code_challenge
String?(min_length=43, max_length=128) Part of the PKCE flow, the challenge should be an SHA-256 (S256
) encoded value of a string that will serve as the code_verifier
of the corresponding /oauth2/token
call. Can can also be set to plain (plain
).code_challenge_method
String? Defines the code challenge method. Can be set to S256
(recommended) or plain
.require_role
String? If this parameter is specified, the user will be asked to authorize with a particular type of Dropbox account, either work
for a team account or personal
for a personal account. Your app should still verify the type of Dropbox account after authorization since the user could modify or remove the require_role
parameter.force_reapprove
Boolean? Whether or not to force the user to approve the app again if they've already done so. If false
(default), a user who has already approved the application may be automatically redirected to the URI specified by redirect_uri
. If true
, the user will not be automatically redirected and will have to approve the app again.disable_signup
Boolean? When true (default is false) users will not be able to sign up for a Dropbox account via the authorization page. Instead, the authorization page will show a link to the Dropbox iOS app in the App Store. This is only intended for use when necessary for compliance with App Store policies.locale
String? If the locale specified is a supported language, Dropbox will direct users to a translated version of the authorization website. Locale tags should be IETF language tags.force_reauthentication
Boolean? When true
(default is false
) users will be signed out if they are currently signed in. This will make sure the user is brought to a page where they can create a new account or sign in to another account. This should only be used when there is a definite reason to believe that the user needs to sign in to a new or different account.prompt
String? Specifies whether the user should be prompted for reauthentication or consent. If none
the user will not be prompted with an authorization screen. This will cause an error if the user has not previously authorized the app. If login
the user will be prompted to sign in again before authorizing the app. This is equivalent to force_reauthentication=true
. If consent
the user will always be prompted for authorization. This is equivalent to force_reapprove=true
. Errors may occur if one of these parameters conflicts with another (for example: prompt=none&force_reapprove=true
).max_age
UInt64? Forces user session refresh if last login time is longer than time specified (seconds).display
, preferred_locales
, and acr_values
are accepted for compatibility but are non-operational.Because /oauth2/authorize
is a website, there is no direct return value. However, after the user authorizes your app, they will be sent to your redirect URI. The type of response varies based on the response_type
.
These parameters are passed in the query string (after the ? in the URL):
code
String The authorization code, which can be used to attain a bearer token by calling /oauth2/token
.state
String The state content, if any, originally passed to /oauth2/authorize
.Sample response
[REDIRECT_URI]?code=ABCDEFG&state=[STATE]
These parameters are passed in the URL fragment (after the # in the URL).
Note: as fragments, these parameters can be modified by the user and must not be trusted server-side. If any of these fields are being used server-side, please use the PKCE flow, or alternatively using the fields returned from /get_current_account
instead.
access_token
String A token which can be used to make calls to the Dropbox API. This should always be treated as opaque with no guarantees as to the size or composition of this token.token_type
String The type of token, which will always be bearer
.account_id
String A user's account identifier used by API v2.team_id
String A team's identifier used by API v2.uid
String Deprecated. The API v1 user/team identifier. Please use account_id
instead, or if using the Dropbox Business API, team_id
.state
String The state content, if any, originally passed to /oauth2/authorize
.Sample response
[REDIRECT_URI]#access_token=ABCDEFG&token_type=bearer&account_id=dbid%3AAAH4f99T0taONIb-OurWxbNQ6ywGRopQngc&uid=12345&state=[STATE]
In either flow, if an error occurs, including if the user has chosen not to authorize the app, the following parameters will be included in the redirect URI:
error
String An error code per Section 4.1.2.1 of the OAuth 2.0 spec.error_description
String A user-friendly description of the error that occurred.state
String The state content, if any, originally passed to /oauth2/authorize
.This endpoint only applies to apps using the authorization code flow. An app calls this endpoint to acquire a bearer token once the user has authorized the app.
Calls to /oauth2/token
need to be authenticated using the apps's key and secret. These can either be passed as application/x-www-form-urlencoded
POST parameters (see parameters below) or via HTTP basic authentication. If basic authentication is used, the app key should be provided as the username, and the app secret should be provided as the password.
https://api.dropboxapi.com/oauth2/token
Example: code flow access token request
curl https://api.dropbox.com/oauth2/token \ -d code=<AUTHORIZATION_CODE> \ -d grant_type=authorization_code \ -d redirect_uri=<REDIRECT_URI> \ -d client_id=<APP_KEY> \ -d client_secret=<APP_SECRET>
Example: refresh token request
curl https://api.dropbox.com/oauth2/token \ -d grant_type=refresh_token \ -d refresh_token=<REFRESH_TOKEN> \ -d client_id=<APP_KEY> \ -d client_secret=<APP_SECRET>
Example: PKCE code flow access token request
curl https://api.dropbox.com/oauth2/token \ -d code=<AUTHORIZATION_CODE> \ -d grant_type=authorization_code \ -d redirect_uri=<REDIRECT_URI> \ -d code_verifier=<VERIFICATION_CODE> \ -d client_id=<APP_KEY>
Example: PKCE refresh token request
curl https://api.dropbox.com/oauth2/token \ -d grant_type=refresh_token \ -d refresh_token=<REFRESH_TOKEN> \ -d client_id=<APP_KEY>
code
String The code acquired by directing users to /oauth2/authorize?response_type=code
.grant_type
String The grant type, which must be authorization_code
for completing a code flow or refresh_token
for using a refresh token to get a new access token.refresh_token
String? A unique, long-lived token that can be used to request new short-lived access tokens without direct interaction from a user in your app.client_id
String? If credentials are passed in POST
parameters, this parameter should be present and should be the app's key (found in the App Console).client_secret
String? If credentials are passed in POST
parameters, this parameter should be present and should be the app's secret.redirect_uri
String? The redirect URI used to receive the authorization code from /oauth2/authorize
, if provided. Only used to validate it matches the redirect URI supplied to /oauth2/authorize
for the current authorization code. It is not used to redirect again.code_verifier
String?(min_length=43, max_length=128) The client-generated string used to verify the encrypted code_challenge
used in the Authorization URL.scope
String? Only allowed when grant_type=refresh_token, this parameter can be used to request a specific subset of the scopes originally granted for the supplied refresh token. Multiple scopes are separated by a space. If this parameter is omitted, the returned access token will include all of the scopes originally granted for the supplied refresh token.refresh_token_expiration_seconds
Integer? Only allowed when grant_type=authorization_code. The unix timestamp, in seconds, that the returned refresh token is valid until. If this parameter is omitted, the refresh token will be valid indefinitely, until revoked.This endpoint returns a JSON-encoded dictionary including fields below:
access_token
String The access token to be used to call the Dropbox API. This should always be treated as opaque with no guarantees as to the size or composition of this token.expires_in
Integer The length of time in seconds that the access token will be valid for.token_type
String Will always be bearer
.scope
String The permission set applied to the token.account_id
String An API v2 account ID if this OAuth 2 flow is user-linked.team_id
String An API v2 team ID if this OAuth 2 flow is team-linked.refresh_token
String If the token_access_type
was set to offline
when calling /oauth2/authorize
, then response will include a refresh token. This refresh token is long-lived and won't expire automatically. It can be stored and re-used multiple times.id_token
String If the request includes OIDC scopes and is completed in the response_type=code
flow, then the payload will include an id_token
which is a JWT token.uid
String The API v1 identifier value. It is deprecated and should no longer be used.Sample response
Example: short-lived token
{ "access_token": "sl.AbX9y6Fe3AuH5o66-gmJpR032jwAwQPIVVzWXZNkdzcYT02akC2de219dZi6gxYPVnYPrpvISRSf9lxKWJzYLjtMPH-d9fo_0gXex7X37VIvpty4-G8f4-WX45AcEPfRnJJDwzv-", "expires_in": 14400, "token_type": "bearer", "scope": "account_info.read files.content.read files.content.write files.metadata.read", "account_id": "dbid:AAH4f99T0taONIb-OurWxbNQ6ywGRopQngc", "uid": "12345" }
Example: short-lived "offline" access token
{ "access_token": "sl.u.AbX9y6Fe3AuH5o66-gmJpR032jwAwQPIVVzWXZNkdzcYT02akC2de219dZi6gxYPVnYPrpvISRSf9lxKWJzYLjtMPH-d9fo_0gXex7X37VIvpty4-G8f4-WX45AcEPfRnJJDwzv-", "expires_in": 14400, "token_type": "bearer", "scope": "account_info.read files.content.read files.content.write files.metadata.read", "refresh_token": "nBiM85CZALsAAAAAAAAAAQXHBoNpNutK4ngsXHsqW4iGz9tisb3JyjGqikMJIYbd", "account_id": "dbid:AAH4f99T0taONIb-OurWxbNQ6ywGRopQngc", "uid": "12345" }
Example: legacy long-lived access token
{ "access_token": "7rBynGOob1cAAAAAAAAAAe72L3T6rQK5ImB5a06ijnwRG9IdeTxvsqdZNAIxq8pZ", "token_type": "bearer", "account_id": "dbid:AAH4f99T0taONIb-OurWxbNQ6ywGRopQngc", "uid": "12345" }
Example: OIDC request
{ "access_token": "sl.AbX9y6Fe3AuH5o66-gmJpR032jwAwQPIVVzWXZNkdzcYT02akC2de219dZi6gxYPVnYPrpvISRSf9lxKWJzYLjtMPH-d9fo_0gXex7X37VIvpty4-G8f4-WX45AcEPfRnJJDwzv-", "expires_in": 14400, "token_type": "bearer", "id_token": "eyJhbGciOiJSUzI1NiIsImtpZCI6IkRUVXpsY3Nw", "scope": "account_info.read files.content.read files.content.write files.metadata.read", "account_id": "dbid:AAH4f99T0taONIb-OurWxbNQ6ywGRopQngc", "uid": "12345" }
Use the refresh token to get a new access token. This request won't return a new refresh token since refresh tokens don't expire automatically and can be reused repeatedly.
access_token
String The access token to be used to call the Dropbox API.expires_in
Integer The length of time in seconds that the access token will be valid for.token_type
String Will always be bearer
.scope
String? The permission set applied to the token. Only returned when the scope
parameter was set.Example:
{ "access_token": "sl.u.AbX9y6Fe3AuH5o66-gmJpR032jwAwQPIVVzWXZNkdzcYT02akC2de219dZi6gxYPVnYPrpvISRSf9lxKWJzYLjtMPH-d9fo_0gXex7X37VIvpty4-G8f4-WX45AcEPfRnJJDwzv-", "expires_in": 14400, "token_type": "bearer" }
Errors are returned using standard HTTP error code syntax. Depending on the status code, the response body may be in JSON or plaintext.
Code | Description |
---|---|
400 | Bad input parameter. The response body is a plaintext message with more information. |
401 | Bad or expired token. This can happen if the access token is expired or if the access token has been revoked by Dropbox or the user. To fix this, you should re-authenticate the user. The Content-Type of the response is JSON of typeAuthError Example: invalid_access_token { "error_summary": "invalid_access_token/...", "error": { ".tag": "invalid_access_token" } } Example: invalid_select_user { "error_summary": "invalid_select_user/...", "error": { ".tag": "invalid_select_user" } } Example: invalid_select_admin { "error_summary": "invalid_select_admin/...", "error": { ".tag": "invalid_select_admin" } } Example: user_suspended { "error_summary": "user_suspended/...", "error": { ".tag": "user_suspended" } } Example: expired_access_token { "error_summary": "expired_access_token/...", "error": { ".tag": "expired_access_token" } } Example: route_access_denied { "error_summary": "route_access_denied/...", "error": { ".tag": "route_access_denied" } } Example: no_team_api_access { "error_summary": "no_team_api_access/...", "error": { ".tag": "no_team_api_access" } } Example: invalid_team_auth_header { "error_summary": "invalid_team_auth_header/...", "error": { ".tag": "invalid_team_auth_header" } } Example: federation_access_denied { "error_summary": "federation_access_denied/...", "error": { ".tag": "federation_access_denied" } } Example: other { "error_summary": "other/...", "error": { ".tag": "other" } } AuthError (open union) Errors occurred during authentication. This datatype comes from an imported namespace originally defined in the auth namespace. The value will be one of the following datatypes. New values may be introduced as our API evolves.invalid_access_token Void The access token is invalid. Note: Access tokens that are not returned exactly as provisioned will return this error. Be sure not to truncate or otherwise malform access tokens provided by Dropbox.invalid_select_user Void The user specified in 'Dropbox-API-Select-User' is no longer on the team.invalid_select_admin Void The user specified in 'Dropbox-API-Select-Admin' is not a Dropbox Business team admin.user_suspended Void The user has been suspended.expired_access_token Void The access token has expired.missing_scope TokenScopeError The access token does not have the required scope to access the route.TokenScopeError This datatype comes from an imported namespace originally defined in the auth namespace.required_scope String The required scope to access the route.route_access_denied Void The route is not available to public. |
403 | The user or team account doesn't have access to the endpoint or feature. The Content-Type of the response is JSON of typeAccessError AccessError (open union) Error occurred because the account doesn't have permission to access the resource. This datatype comes from an imported namespace originally defined in the auth namespace. The value will be one of the following datatypes. New values may be introduced as our API evolves.invalid_account_type InvalidAccountTypeError Current account type cannot access the resource.InvalidAccountTypeError (open union) This datatype comes from an imported namespace originally defined in the auth namespace. The value will be one of the following datatypes. New values may be introduced as our API evolves.endpoint Void Current account type doesn't have permission to access this route endpoint.feature Void Current account type doesn't have permission to access this feature.no_permission NoPermissionError Caller does not have permission to access the resource.NoPermissionError (open union) This datatype comes from an imported namespace originally defined in the auth namespace. The value will be one of the following datatypes. New values may be introduced as our API evolves.unauthorized_account_id_usage UnauthorizedAccountIdUsageError Current caller does not have permission to access the account information for one or more of the specified account IDs.paper_access_denied PaperAccessError Current account cannot access Paper.PaperAccessError (open union) This datatype comes from an imported namespace originally defined in the auth namespace. The value will be one of the following datatypes. New values may be introduced as our API evolves.paper_disabled Void Paper is disabled.not_paper_user Void The provided user has not used Paper yet. |
409 | Endpoint-specific error. Look to the JSON response body for the specifics of the error. |
429 | Your app is making too many requests for the given user or team and is being rate limited. Your app should wait for the number of seconds specified in the "Retry-After" response header before trying again. The Content-Type of the response can be JSON or plaintext. If it is JSON, it will be typeRateLimitErrorYou can find more information in the data ingress guide. RateLimitError Error occurred because the app is being rate limited. This datatype comes from an imported namespace originally defined in the auth namespace.reason RateLimitReason The reason why the app is being rate limited.RateLimitReason (open union) This datatype comes from an imported namespace originally defined in the auth namespace. The value will be one of the following datatypes. New values may be introduced as our API evolves.too_many_requests Void You are making too many requests in the past few minutes.too_many_write_operations Void There are currently too many write operations happening in the user's Dropbox.retry_after UInt64 The number of seconds that the app should wait before making another request. The default for this field is 1. |
5xx | An error occurred on the Dropbox servers. Check status.dropbox.com for announcements about Dropbox service issues. |
Key | Description |
---|---|
error | A value that conforms to the error data type schema defined in the definition of each route. |
error_summary | A string that summarizes the value of the "error" key. It is a concatenation of the hierarchy of union tags that make up the error. This provides a human-readable error string, and can also be used for simple programmatic error handling via prefix matching. To disincentivize exact string matching, we append a random number of "." characters at the end of the string. |
user_message | An optional field. If present, it includes a message that can be shown directly to the end user of your app. You should show this message if your app is unprepared to programmatically handle the error returned by an endpoint. |
Sets a user's profile photo.
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/account/set_profile_photo
curl -X POST https://api.dropboxapi.com/2/account/set_profile_photo \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"photo\":{\".tag\":\"base64_data\",\"base64_data\":\"SW1hZ2UgZGF0YSBpbiBiYXNlNjQtZW5jb2RlZCBieXRlcy4gTm90IGEgdmFsaWQgZXhhbXBsZS4=\"}}"
{ "photo": { ".tag": "base64_data", "base64_data": "SW1hZ2UgZGF0YSBpbiBiYXNlNjQtZW5jb2RlZCBieXRlcy4gTm90IGEgdmFsaWQgZXhhbXBsZS4=" } }
photo
Image to set as the user's new profile photo.{ "profile_photo_url": "https://dl-web.dropbox.com/account_photo/get/dbaphid%3AAAHWGmIXV3sUuOmBfTz0wPsiqHUpBWvv3ZA?vers=1556069330102&size=128x128" }
profile_photo_url
StringURL for the photo representing the user, if one is set.{ "error": { ".tag": "file_type_error" }, "error_summary": "file_type_error/..." }
{ "error": { ".tag": "file_size_error" }, "error_summary": "file_size_error/..." }
{ "error": { ".tag": "dimension_error" }, "error_summary": "dimension_error/..." }
{ "error": { ".tag": "thumbnail_error" }, "error_summary": "thumbnail_error/..." }
{ "error": { ".tag": "transient_error" }, "error_summary": "transient_error/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
file_type_error
VoidFile cannot be set as profile photo.file_size_error
VoidFile cannot exceed 10 MB.dimension_error
VoidImage must be larger than 128 x 128.thumbnail_error
VoidImage could not be thumbnailed.transient_error
VoidTemporary infrastructure failure, please retry.Disables the access token used to authenticate the call. If there is a corresponding refresh token for the access token, this disables that refresh token, as well as any other access tokens for that refresh token.
https://api.dropboxapi.com/2/auth/token/revoke
curl -X POST https://api.dropboxapi.com/2/auth/token/revoke \
--header "Authorization: Bearer "
This endpoint performs App Authentication, validating the supplied app key and secret, and returns the supplied string, to allow you to test your code and connection to the Dropbox API. It has no other effect. If you receive an HTTP 200 response with the supplied query, it indicates at least part of the Dropbox API infrastructure is working and that the app key and secret valid.
https://api.dropboxapi.com/2/check/app
curl -X POST https://api.dropboxapi.com/2/check/app \
--header "Authorization: Basic " \
--header "Content-Type: application/json" \
--data "{\"query\":\"foo\"}"
{ "query": "foo" }
query
String(max_length=500)The string that you'd like to be echoed back to you. The default for this field is "".{ "result": "foo" }
result
StringIf everything worked correctly, this would be the same as query. The default for this field is "".{ "error": { ".tag": "user_requested" }, "error_summary": "user_requested/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
user_requested
VoidThe request was successful.This endpoint performs User Authentication, validating the supplied access token, and returns the supplied string, to allow you to test your code and connection to the Dropbox API. It has no other effect. If you receive an HTTP 200 response with the supplied query, it indicates at least part of the Dropbox API infrastructure is working and that the access token is valid.
https://api.dropboxapi.com/2/check/user
curl -X POST https://api.dropboxapi.com/2/check/user \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"query\":\"foo\"}"
{ "query": "foo" }
query
String(max_length=500)The string that you'd like to be echoed back to you. The default for this field is "".{ "result": "foo" }
result
StringIf everything worked correctly, this would be the same as query. The default for this field is "".{ "error": { ".tag": "user_requested" }, "error_summary": "user_requested/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
user_requested
VoidThe request was successful.Removes all manually added contacts. You'll still keep contacts who are on your team or who you imported. New contacts will be added when you share.
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/contacts/delete_manual_contacts
curl -X POST https://api.dropboxapi.com/2/contacts/delete_manual_contacts \
--header "Authorization: Bearer "
Removes manually added contacts from the given list.
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/contacts/delete_manual_contacts_batch
curl -X POST https://api.dropboxapi.com/2/contacts/delete_manual_contacts_batch \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"email_addresses\":[\"contactemailaddress1@domain.com\",\"contactemailaddress2@domain.com\"]}"
{ "email_addresses": [ "contactemailaddress1@domain.com", "contactemailaddress2@domain.com" ] }
email_addresses
List of (String(max_length=255, pattern="^['#&A-Za-z0-9._%+-]+@[A-Za-z0-9-][A-Za-z0-9.-]*\.[A-Za-z]{2,15}$"))List of manually added contacts to be deleted.contacts_not_found
List of (String(max_length=255, pattern="^['#&A-Za-z0-9._%+-]+@[A-Za-z0-9-][A-Za-z0-9.-]*\.[A-Za-z]{2,15}$"))Can't delete contacts from this list. Make sure the list only has manually added contacts. The deletion was cancelled.This namespace contains helpers for property and template metadata endpoints. These endpoints enable you to tag arbitrary key/value data to Dropbox files. The most basic unit in this namespace is the :type:`PropertyField`. These fields encapsulate the actual key/value data. Fields are added to a Dropbox file using a :type:`PropertyGroup`. Property groups contain a reference to a Dropbox file and a :type:`PropertyGroupTemplate`. Property groups are uniquely identified by the combination of their associated Dropbox file and template. The :type:`PropertyGroupTemplate` is a way of restricting the possible key names and value types of the data within a property group. The possible key names and value types are explicitly enumerated using :type:`PropertyFieldTemplate` objects. You can think of a property group template as a class definition for a particular key/value metadata object, and the property groups themselves as the instantiations of these objects. Templates are owned either by a user/app pair or team/app pair. Templates and their associated properties can't be accessed by any app other than the app that created them, and even then, only when the app is linked with the owner of the template (either a user or team). User-owned templates are accessed via the user-auth file_properties/templates/*_for_user endpoints, while team-owned templates are accessed via the team-auth file_properties/templates/*_for_team endpoints. Properties associated with either type of template can be accessed via the user-auth properties/* endpoints. Finally, properties can be accessed from a number of endpoints that return metadata, including `files/get_metadata`, and `files/list_folder`. Properties can also be added during upload, using `files/upload`.
Add property groups to a Dropbox file. See templates/add_for_user or templates/add_for_team to create new templates.
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/file_properties/properties/add
curl -X POST https://api.dropboxapi.com/2/file_properties/properties/add \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"path\":\"/my_awesome/word.docx\",\"property_groups\":[{\"fields\":[{\"name\":\"Security Policy\",\"value\":\"Confidential\"}],\"template_id\":\"ptid:1a5n2i6d3OYEAAAAAAAAAYa\"}]}"
{ "path": "/my_awesome/word.docx", "property_groups": [ { "fields": [ { "name": "Security Policy", "value": "Confidential" } ], "template_id": "ptid:1a5n2i6d3OYEAAAAAAAAAYa" } ] }
path
String(pattern="/(.|[\r\n])*|id:.*|(ns:[0-9]+(/.*)?)")A unique identifier for the file or folder.property_groups
List of ()The property groups which are to be added to a Dropbox file. No two groups in the input should refer to the same template.{ "error": { ".tag": "restricted_content" }, "error_summary": "restricted_content/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
{ "error": { ".tag": "unsupported_folder" }, "error_summary": "unsupported_folder/..." }
{ "error": { ".tag": "property_field_too_large" }, "error_summary": "property_field_too_large/..." }
{ "error": { ".tag": "does_not_fit_template" }, "error_summary": "does_not_fit_template/..." }
{ "error": { ".tag": "duplicate_property_groups" }, "error_summary": "duplicate_property_groups/..." }
{ "error": { ".tag": "property_group_already_exists" }, "error_summary": "property_group_already_exists/..." }
template_not_found
String(min_length=1, pattern="(/|ptid:).*")Template does not exist for the given identifier.restricted_content
VoidYou do not have permission to modify this template.path
unsupported_folder
VoidThis folder cannot be tagged. Tagging folders is not supported for team-owned templates.property_field_too_large
VoidOne or more of the supplied property field values is too large.does_not_fit_template
VoidOne or more of the supplied property fields does not conform to the template specifications.duplicate_property_groups
VoidThere are 2 or more property groups referring to the same templates in the input.property_group_already_exists
VoidA property group associated with this template and file already exists.Overwrite property groups associated with a file. This endpoint should be used instead of 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 properties/update will only delete fields that are explicitly marked for deletion.
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/file_properties/properties/overwrite
curl -X POST https://api.dropboxapi.com/2/file_properties/properties/overwrite \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"path\":\"/my_awesome/word.docx\",\"property_groups\":[{\"fields\":[{\"name\":\"Security Policy\",\"value\":\"Confidential\"}],\"template_id\":\"ptid:1a5n2i6d3OYEAAAAAAAAAYa\"}]}"
{ "path": "/my_awesome/word.docx", "property_groups": [ { "fields": [ { "name": "Security Policy", "value": "Confidential" } ], "template_id": "ptid:1a5n2i6d3OYEAAAAAAAAAYa" } ] }
path
String(pattern="/(.|[\r\n])*|id:.*|(ns:[0-9]+(/.*)?)")A unique identifier for the file or folder.property_groups
List of (, min_items=1)The property groups "snapshot" updates to force apply. No two groups in the input should refer to the same template.{ "error": { ".tag": "restricted_content" }, "error_summary": "restricted_content/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
{ "error": { ".tag": "unsupported_folder" }, "error_summary": "unsupported_folder/..." }
{ "error": { ".tag": "property_field_too_large" }, "error_summary": "property_field_too_large/..." }
{ "error": { ".tag": "does_not_fit_template" }, "error_summary": "does_not_fit_template/..." }
{ "error": { ".tag": "duplicate_property_groups" }, "error_summary": "duplicate_property_groups/..." }
template_not_found
String(min_length=1, pattern="(/|ptid:).*")Template does not exist for the given identifier.restricted_content
VoidYou do not have permission to modify this template.path
unsupported_folder
VoidThis folder cannot be tagged. Tagging folders is not supported for team-owned templates.property_field_too_large
VoidOne or more of the supplied property field values is too large.does_not_fit_template
VoidOne or more of the supplied property fields does not conform to the template specifications.duplicate_property_groups
VoidThere are 2 or more property groups referring to the same templates in the input.Permanently removes the specified property group from the file. To remove specific property field key value pairs, see properties/update. To update a template, see templates/update_for_user or templates/update_for_team. To remove a template, see templates/remove_for_user or templates/remove_for_team.
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/file_properties/properties/remove
curl -X POST https://api.dropboxapi.com/2/file_properties/properties/remove \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"path\":\"/my_awesome/word.docx\",\"property_template_ids\":[\"ptid:1a5n2i6d3OYEAAAAAAAAAYa\"]}"
{ "path": "/my_awesome/word.docx", "property_template_ids": [ "ptid:1a5n2i6d3OYEAAAAAAAAAYa" ] }
path
String(pattern="/(.|[\r\n])*|id:.*|(ns:[0-9]+(/.*)?)")A unique identifier for the file or folder.property_template_ids
List of (String(min_length=1, pattern="(/|ptid:).*"))A list of identifiers for a template created by templates/add_for_user or templates/add_for_team.{ "error": { ".tag": "restricted_content" }, "error_summary": "restricted_content/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
{ "error": { ".tag": "unsupported_folder" }, "error_summary": "unsupported_folder/..." }
template_not_found
String(min_length=1, pattern="(/|ptid:).*")Template does not exist for the given identifier.restricted_content
VoidYou do not have permission to modify this template.path
unsupported_folder
VoidThis folder cannot be tagged. Tagging folders is not supported for team-owned templates.property_group_lookup
Search across property templates for particular property field values.
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/file_properties/properties/search
curl -X POST https://api.dropboxapi.com/2/file_properties/properties/search \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"queries\":[{\"logical_operator\":\"or_operator\",\"mode\":{\".tag\":\"field_name\",\"field_name\":\"Security\"},\"query\":\"Confidential\"}],\"template_filter\":\"filter_none\"}"
{ "queries": [ { "logical_operator": "or_operator", "mode": { ".tag": "field_name", "field_name": "Security" }, "query": "Confidential" } ], "template_filter": "filter_none" }
queries
List of (, min_items=1)Queries to search.template_filter
Filter results to contain only properties associated with these template IDs. The default for this union is filter_none.{ "matches": [ { "id": "id:a4ayc_80_OEAAAAAAAAAXz", "is_deleted": false, "path": "/my_awesome/word.docx", "property_groups": [ { "fields": [ { "name": "Security Policy", "value": "Confidential" } ], "template_id": "ptid:1a5n2i6d3OYEAAAAAAAAAYa" } ] } ] }
matches
List of ()A list (possibly empty) of matches for the query.cursor
String(min_length=1)?Pass the cursor into properties/search/continue to continue to receive search results. Cursor will be null when there are no more results. This field is optional.property_group_lookup
Once a cursor has been retrieved from properties/search, use this to paginate through all search results.
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/file_properties/properties/search/continue
curl -X POST https://api.dropboxapi.com/2/file_properties/properties/search/continue \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"cursor\":\"ZtkX9_EHj3x7PMkVuFIhwKYXEpwpLwyxp9vMKomUhllil9q7eWiAu\"}"
{ "cursor": "ZtkX9_EHj3x7PMkVuFIhwKYXEpwpLwyxp9vMKomUhllil9q7eWiAu" }
cursor
String(min_length=1)The cursor returned by your last call to properties/search or properties/search/continue.{ "matches": [ { "id": "id:a4ayc_80_OEAAAAAAAAAXz", "is_deleted": false, "path": "/my_awesome/word.docx", "property_groups": [ { "fields": [ { "name": "Security Policy", "value": "Confidential" } ], "template_id": "ptid:1a5n2i6d3OYEAAAAAAAAAYa" } ] } ] }
matches
List of ()A list (possibly empty) of matches for the query.cursor
String(min_length=1)?Pass the cursor into properties/search/continue to continue to receive search results. Cursor will be null when there are no more results. This field is optional.{ "error": { ".tag": "reset" }, "error_summary": "reset/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
reset
VoidIndicates that the cursor has been invalidated. Call properties/search to obtain a new cursor.Add, update or remove properties associated with the supplied file and templates. This endpoint should be used instead of 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 properties/overwrite will delete any fields that are omitted from a property group.
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/file_properties/properties/update
curl -X POST https://api.dropboxapi.com/2/file_properties/properties/update \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"path\":\"/my_awesome/word.docx\",\"update_property_groups\":[{\"add_or_update_fields\":[{\"name\":\"Security Policy\",\"value\":\"Confidential\"}],\"remove_fields\":[],\"template_id\":\"ptid:1a5n2i6d3OYEAAAAAAAAAYa\"}]}"
{ "path": "/my_awesome/word.docx", "update_property_groups": [ { "add_or_update_fields": [ { "name": "Security Policy", "value": "Confidential" } ], "remove_fields": [], "template_id": "ptid:1a5n2i6d3OYEAAAAAAAAAYa" } ] }
path
String(pattern="/(.|[\r\n])*|id:.*|(ns:[0-9]+(/.*)?)")A unique identifier for the file or folder.update_property_groups
List of ()The property groups "delta" updates to apply.{ "error": { ".tag": "restricted_content" }, "error_summary": "restricted_content/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
{ "error": { ".tag": "unsupported_folder" }, "error_summary": "unsupported_folder/..." }
{ "error": { ".tag": "property_field_too_large" }, "error_summary": "property_field_too_large/..." }
{ "error": { ".tag": "does_not_fit_template" }, "error_summary": "does_not_fit_template/..." }
{ "error": { ".tag": "duplicate_property_groups" }, "error_summary": "duplicate_property_groups/..." }
template_not_found
String(min_length=1, pattern="(/|ptid:).*")Template does not exist for the given identifier.restricted_content
VoidYou do not have permission to modify this template.path
unsupported_folder
VoidThis folder cannot be tagged. Tagging folders is not supported for team-owned templates.property_field_too_large
VoidOne or more of the supplied property field values is too large.does_not_fit_template
VoidOne or more of the supplied property fields does not conform to the template specifications.duplicate_property_groups
VoidThere are 2 or more property groups referring to the same templates in the input.property_group_lookup
Add a template associated with a user. See properties/add to add properties to a file. This endpoint can't be called on a team member or admin's behalf.
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/file_properties/templates/add_for_user
curl -X POST https://api.dropboxapi.com/2/file_properties/templates/add_for_user \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"description\":\"These properties describe how confidential this file or folder is.\",\"fields\":[{\"description\":\"This is the security policy of the file or folder described.\nPolicies can be Confidential, Public or Internal.\",\"name\":\"Security Policy\",\"type\":\"string\"}],\"name\":\"Security\"}"
{ "description": "These properties describe how confidential this file or folder is.", "fields": [ { "description": "This is the security policy of the file or folder described.\nPolicies can be Confidential, Public or Internal.", "name": "Security Policy", "type": "string" } ], "name": "Security" }
name
StringDisplay name for the template. Template names can be up to 256 bytes.description
StringDescription for the template. Template descriptions can be up to 1024 bytes.fields
List of ()Definitions of the property fields associated with this template. There can be up to 32 properties in a single template.{ "template_id": "ptid:1a5n2i6d3OYEAAAAAAAAAYa" }
template_id
String(min_length=1, pattern="(/|ptid:).*")An identifier for template added by See templates/add_for_user or templates/add_for_team.{ "error": { ".tag": "restricted_content" }, "error_summary": "restricted_content/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
{ "error": { ".tag": "conflicting_property_names" }, "error_summary": "conflicting_property_names/..." }
{ "error": { ".tag": "too_many_properties" }, "error_summary": "too_many_properties/..." }
{ "error": { ".tag": "too_many_templates" }, "error_summary": "too_many_templates/..." }
{ "error": { ".tag": "template_attribute_too_large" }, "error_summary": "template_attribute_too_large/..." }
template_not_found
String(min_length=1, pattern="(/|ptid:).*")Template does not exist for the given identifier.restricted_content
VoidYou do not have permission to modify this template.conflicting_property_names
VoidA property field key with that name already exists in the template.too_many_properties
VoidThere are too many properties in the changed template. The maximum number of properties per template is 32.too_many_templates
VoidThere are too many templates for the team.template_attribute_too_large
VoidThe template name, description or one or more of the property field keys is too large.Get the schema for a specified template. This endpoint can't be called on a team member or admin's behalf.
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/file_properties/templates/get_for_user
curl -X POST https://api.dropboxapi.com/2/file_properties/templates/get_for_user \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"template_id\":\"ptid:1a5n2i6d3OYEAAAAAAAAAYa\"}"
{ "template_id": "ptid:1a5n2i6d3OYEAAAAAAAAAYa" }
template_id
String(min_length=1, pattern="(/|ptid:).*")An identifier for template added by route See templates/add_for_user or templates/add_for_team.{ "description": "These properties describe how confidential this file or folder is.", "fields": [ { "description": "This is the security policy of the file or folder described.\nPolicies can be Confidential, Public or Internal.", "name": "Security Policy", "type": { ".tag": "string" } } ], "name": "Security" }
name
StringDisplay name for the template. Template names can be up to 256 bytes.description
StringDescription for the template. Template descriptions can be up to 1024 bytes.fields
List of ()Definitions of the property fields associated with this template. There can be up to 32 properties in a single template.{ "error": { ".tag": "restricted_content" }, "error_summary": "restricted_content/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
template_not_found
String(min_length=1, pattern="(/|ptid:).*")Template does not exist for the given identifier.restricted_content
VoidYou do not have permission to modify this template.Get the template identifiers for a team. To get the schema of each template use templates/get_for_user. This endpoint can't be called on a team member or admin's behalf.
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/file_properties/templates/list_for_user
curl -X POST https://api.dropboxapi.com/2/file_properties/templates/list_for_user \
--header "Authorization: Bearer "
{ "template_ids": [ "ptid:1a5n2i6d3OYEAAAAAAAAAYa" ] }
template_ids
List of (String(min_length=1, pattern="(/|ptid:).*"))List of identifiers for templates added by See templates/add_for_user or templates/add_for_team.{ "error": { ".tag": "restricted_content" }, "error_summary": "restricted_content/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
template_not_found
String(min_length=1, pattern="(/|ptid:).*")Template does not exist for the given identifier.restricted_content
VoidYou do not have permission to modify this template.Permanently removes the specified template created from templates/add_for_user. All properties associated with the template will also be removed. This action cannot be undone.
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/file_properties/templates/remove_for_user
curl -X POST https://api.dropboxapi.com/2/file_properties/templates/remove_for_user \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"template_id\":\"ptid:1a5n2i6d3OYEAAAAAAAAAYa\"}"
{ "template_id": "ptid:1a5n2i6d3OYEAAAAAAAAAYa" }
template_id
String(min_length=1, pattern="(/|ptid:).*")An identifier for a template created by templates/add_for_user or templates/add_for_team.{ "error": { ".tag": "restricted_content" }, "error_summary": "restricted_content/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
template_not_found
String(min_length=1, pattern="(/|ptid:).*")Template does not exist for the given identifier.restricted_content
VoidYou do not have permission to modify this template.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.
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/file_properties/templates/update_for_user
curl -X POST https://api.dropboxapi.com/2/file_properties/templates/update_for_user \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"add_fields\":[{\"description\":\"This is the security policy of the file or folder described.\nPolicies can be Confidential, Public or Internal.\",\"name\":\"Security Policy\",\"type\":\"string\"}],\"description\":\"These properties will describe how confidential this file or folder is.\",\"name\":\"New Security Template Name\",\"template_id\":\"ptid:1a5n2i6d3OYEAAAAAAAAAYa\"}"
{ "add_fields": [ { "description": "This is the security policy of the file or folder described.\nPolicies can be Confidential, Public or Internal.", "name": "Security Policy", "type": "string" } ], "description": "These properties will describe how confidential this file or folder is.", "name": "New Security Template Name", "template_id": "ptid:1a5n2i6d3OYEAAAAAAAAAYa" }
template_id
String(min_length=1, pattern="(/|ptid:).*")An identifier for template added by See templates/add_for_user or templates/add_for_team.name
String?A display name for the template. template names can be up to 256 bytes. This field is optional.description
String?Description for the new template. Template descriptions can be up to 1024 bytes. This field is optional.add_fields
List of ()?Property field templates to be added to the group template. There can be up to 32 properties in a single template. This field is optional.{ "template_id": "ptid:1a5n2i6d3OYEAAAAAAAAAYa" }
template_id
String(min_length=1, pattern="(/|ptid:).*")An identifier for template added by route See templates/add_for_user or templates/add_for_team.{ "error": { ".tag": "restricted_content" }, "error_summary": "restricted_content/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
{ "error": { ".tag": "conflicting_property_names" }, "error_summary": "conflicting_property_names/..." }
{ "error": { ".tag": "too_many_properties" }, "error_summary": "too_many_properties/..." }
{ "error": { ".tag": "too_many_templates" }, "error_summary": "too_many_templates/..." }
{ "error": { ".tag": "template_attribute_too_large" }, "error_summary": "template_attribute_too_large/..." }
template_not_found
String(min_length=1, pattern="(/|ptid:).*")Template does not exist for the given identifier.restricted_content
VoidYou do not have permission to modify this template.conflicting_property_names
VoidA property field key with that name already exists in the template.too_many_properties
VoidThere are too many properties in the changed template. The maximum number of properties per template is 32.too_many_templates
VoidThere are too many templates for the team.template_attribute_too_large
VoidThe template name, description or one or more of the property field keys is too large.This namespace contains endpoints and data types for file request operations.
Returns the total number of file requests owned by this user. Includes both open and closed file requests.
https://api.dropboxapi.com/2/file_requests/count
curl -X POST https://api.dropboxapi.com/2/file_requests/count \
--header "Authorization: Bearer "
{ "file_request_count": 15 }
file_request_count
UInt64The number file requests owner by this user.{ "error": { ".tag": "disabled_for_team" }, "error_summary": "disabled_for_team/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
disabled_for_team
VoidThis user's Dropbox Business team doesn't allow file requests.Creates a file request for this user.
https://api.dropboxapi.com/2/file_requests/create
curl -X POST https://api.dropboxapi.com/2/file_requests/create \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"deadline\":{\"allow_late_uploads\":\"seven_days\",\"deadline\":\"2020-10-12T17:00:00Z\"},\"destination\":\"/File Requests/Homework\",\"open\":true,\"title\":\"Homework submission\"}"
{ "deadline": { "allow_late_uploads": "seven_days", "deadline": "2020-10-12T17:00:00Z" }, "destination": "/File Requests/Homework", "open": true, "title": "Homework submission" }
title
String(min_length=1)The title of the file request. Must not be empty.destination
String(pattern="/(.|[\r\n])*")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 Professional and Business accounts. This field is optional.open
BooleanWhether 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. The default for this field is True.description
String?A description of the file request. This field is optional.video_project_id
String?If this request was created from video project, its id. This field is optional.{ "created": "2015-10-05T17:00:00Z", "deadline": { "allow_late_uploads": { ".tag": "seven_days" }, "deadline": "2020-10-12T17:00:00Z" }, "description": "Please submit your homework here.", "destination": "/File Requests/Homework", "file_count": 3, "id": "oaCAVmEyrqYnkZX9955Y", "is_open": true, "title": "Homework submission", "url": "https://www.dropbox.com/request/oaCAVmEyrqYnkZX9955Y" }
{ "created": "2015-11-02T04:00:00Z", "deadline": { "deadline": "2020-10-12T17:00:00Z" }, "destination": "/Photo contest entries", "file_count": 105, "id": "BAJ7IrRGicQKGToykQdB", "is_open": true, "title": "Photo contest submission", "url": "https://www.dropbox.com/request/BAJ7IrRGjcQKGToykQdB" }
{ "created": "2015-12-15T13:02:00Z", "destination": "/Wedding photos", "file_count": 37, "id": "rxwMPvK3ATTa0VxOJu5T", "is_open": true, "title": "Wedding photo submission", "url": "https://www.dropbox.com/request/rxwMPvK3ATTa0VxOJu5T" }
id
String(min_length=1, pattern="[-_0-9a-zA-Z]+")The ID of the file request.url
String(min_length=1)The URL of the file request.title
String(min_length=1)The title of the file request.created
Timestamp(format="%Y-%m-%dT%H:%M:%SZ")When this file request was created.is_open
BooleanWhether or not the file request is open. If the file request is closed, it will not accept any more file submissions.file_count
Int64The number of files this file request has received.destination
String(pattern="/(.|[\r\n])*")?The path of the folder in the Dropbox where uploaded files will be sent. This can be None if the destination was removed. For apps with the app folder permission, this will be relative to the app folder. This field is optional.deadline
?The deadline for this file request. Only set if the request has a deadline. This field is optional.description
String?A description of the file request. This field is optional.video_project_id
String?If this request was created from video project, its id. This field is optional.{ "error": { ".tag": "disabled_for_team" }, "error_summary": "disabled_for_team/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
{ "error": { ".tag": "not_found" }, "error_summary": "not_found/..." }
{ "error": { ".tag": "not_a_folder" }, "error_summary": "not_a_folder/..." }
{ "error": { ".tag": "app_lacks_access" }, "error_summary": "app_lacks_access/..." }
{ "error": { ".tag": "no_permission" }, "error_summary": "no_permission/..." }
{ "error": { ".tag": "email_unverified" }, "error_summary": "email_unverified/..." }
{ "error": { ".tag": "validation_error" }, "error_summary": "validation_error/..." }
{ "error": { ".tag": "invalid_location" }, "error_summary": "invalid_location/..." }
{ "error": { ".tag": "rate_limit" }, "error_summary": "rate_limit/..." }
disabled_for_team
VoidThis user's Dropbox Business team doesn't allow file requests.not_found
VoidThis file request ID was not found.not_a_folder
VoidThe specified path is not a folder.app_lacks_access
VoidThis 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
VoidThis user doesn't have permission to access or modify this file request.email_unverified
VoidThis 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 here.validation_error
VoidThere was an error validating the request. For example, the title was invalid, or there were disallowed characters in the destination path.invalid_location
VoidFile requests are not available on the specified folder.rate_limit
VoidThe user has reached the rate limit for creating file requests. The limit is currently 4000 file requests total.Delete a batch of closed file requests.
https://api.dropboxapi.com/2/file_requests/delete
curl -X POST https://api.dropboxapi.com/2/file_requests/delete \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"ids\":[\"oaCAVmEyrqYnkZX9955Y\",\"BaZmehYoXMPtaRmfTbSG\"]}"
{ "ids": [ "oaCAVmEyrqYnkZX9955Y", "BaZmehYoXMPtaRmfTbSG" ] }
ids
List of (String(min_length=1, pattern="[-_0-9a-zA-Z]+"))List IDs of the file requests to delete.{ "file_requests": [ { "created": "2015-10-05T17:00:00Z", "deadline": { "allow_late_uploads": { ".tag": "seven_days" }, "deadline": "2020-10-12T17:00:00Z" }, "description": "Please submit your homework here.", "destination": "/File Requests/Homework", "file_count": 3, "id": "oaCAVmEyrqYnkZX9955Y", "is_open": true, "title": "Homework submission", "url": "https://www.dropbox.com/request/oaCAVmEyrqYnkZX9955Y" }, { "created": "2015-11-02T04:00:00Z", "deadline": { "deadline": "2020-10-12T17:00:00Z" }, "destination": "/Photo contest entries", "file_count": 105, "id": "BAJ7IrRGicQKGToykQdB", "is_open": true, "title": "Photo contest submission", "url": "https://www.dropbox.com/request/BAJ7IrRGjcQKGToykQdB" }, { "created": "2015-12-15T13:02:00Z", "destination": "/Wedding photos", "file_count": 37, "id": "rxwMPvK3ATTa0VxOJu5T", "is_open": true, "title": "Wedding photo submission", "url": "https://www.dropbox.com/request/rxwMPvK3ATTa0VxOJu5T" } ] }
file_requests
List of ()The file requests deleted by the request.{ "error": { ".tag": "disabled_for_team" }, "error_summary": "disabled_for_team/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
{ "error": { ".tag": "not_found" }, "error_summary": "not_found/..." }
{ "error": { ".tag": "not_a_folder" }, "error_summary": "not_a_folder/..." }
{ "error": { ".tag": "app_lacks_access" }, "error_summary": "app_lacks_access/..." }
{ "error": { ".tag": "no_permission" }, "error_summary": "no_permission/..." }
{ "error": { ".tag": "email_unverified" }, "error_summary": "email_unverified/..." }
{ "error": { ".tag": "validation_error" }, "error_summary": "validation_error/..." }
{ "error": { ".tag": "file_request_open" }, "error_summary": "file_request_open/..." }
disabled_for_team
VoidThis user's Dropbox Business team doesn't allow file requests.not_found
VoidThis file request ID was not found.not_a_folder
VoidThe specified path is not a folder.app_lacks_access
VoidThis 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
VoidThis user doesn't have permission to access or modify this file request.email_unverified
VoidThis 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 here.validation_error
VoidThere was an error validating the request. For example, the title was invalid, or there were disallowed characters in the destination path.file_request_open
VoidOne or more file requests currently open.Delete all closed file requests owned by this user.
https://api.dropboxapi.com/2/file_requests/delete_all_closed
curl -X POST https://api.dropboxapi.com/2/file_requests/delete_all_closed \
--header "Authorization: Bearer "
{ "file_requests": [ { "created": "2015-10-05T17:00:00Z", "deadline": { "allow_late_uploads": { ".tag": "seven_days" }, "deadline": "2020-10-12T17:00:00Z" }, "description": "Please submit your homework here.", "destination": "/File Requests/Homework", "file_count": 3, "id": "oaCAVmEyrqYnkZX9955Y", "is_open": true, "title": "Homework submission", "url": "https://www.dropbox.com/request/oaCAVmEyrqYnkZX9955Y" }, { "created": "2015-11-02T04:00:00Z", "deadline": { "deadline": "2020-10-12T17:00:00Z" }, "destination": "/Photo contest entries", "file_count": 105, "id": "BAJ7IrRGicQKGToykQdB", "is_open": true, "title": "Photo contest submission", "url": "https://www.dropbox.com/request/BAJ7IrRGjcQKGToykQdB" }, { "created": "2015-12-15T13:02:00Z", "destination": "/Wedding photos", "file_count": 37, "id": "rxwMPvK3ATTa0VxOJu5T", "is_open": true, "title": "Wedding photo submission", "url": "https://www.dropbox.com/request/rxwMPvK3ATTa0VxOJu5T" } ] }
file_requests
List of ()The file requests deleted for this user.{ "error": { ".tag": "disabled_for_team" }, "error_summary": "disabled_for_team/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
{ "error": { ".tag": "not_found" }, "error_summary": "not_found/..." }
{ "error": { ".tag": "not_a_folder" }, "error_summary": "not_a_folder/..." }
{ "error": { ".tag": "app_lacks_access" }, "error_summary": "app_lacks_access/..." }
{ "error": { ".tag": "no_permission" }, "error_summary": "no_permission/..." }
{ "error": { ".tag": "email_unverified" }, "error_summary": "email_unverified/..." }
{ "error": { ".tag": "validation_error" }, "error_summary": "validation_error/..." }
disabled_for_team
VoidThis user's Dropbox Business team doesn't allow file requests.not_found
VoidThis file request ID was not found.not_a_folder
VoidThe specified path is not a folder.app_lacks_access
VoidThis 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
VoidThis user doesn't have permission to access or modify this file request.email_unverified
VoidThis 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 here.validation_error
VoidThere was an error validating the request. For example, the title was invalid, or there were disallowed characters in the destination path.Returns the specified file request.
https://api.dropboxapi.com/2/file_requests/get
curl -X POST https://api.dropboxapi.com/2/file_requests/get \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"id\":\"oaCAVmEyrqYnkZX9955Y\"}"
{ "id": "oaCAVmEyrqYnkZX9955Y" }
id
String(min_length=1, pattern="[-_0-9a-zA-Z]+")The ID of the file request to retrieve.{ "created": "2015-10-05T17:00:00Z", "deadline": { "allow_late_uploads": { ".tag": "seven_days" }, "deadline": "2020-10-12T17:00:00Z" }, "description": "Please submit your homework here.", "destination": "/File Requests/Homework", "file_count": 3, "id": "oaCAVmEyrqYnkZX9955Y", "is_open": true, "title": "Homework submission", "url": "https://www.dropbox.com/request/oaCAVmEyrqYnkZX9955Y" }
{ "created": "2015-11-02T04:00:00Z", "deadline": { "deadline": "2020-10-12T17:00:00Z" }, "destination": "/Photo contest entries", "file_count": 105, "id": "BAJ7IrRGicQKGToykQdB", "is_open": true, "title": "Photo contest submission", "url": "https://www.dropbox.com/request/BAJ7IrRGjcQKGToykQdB" }
{ "created": "2015-12-15T13:02:00Z", "destination": "/Wedding photos", "file_count": 37, "id": "rxwMPvK3ATTa0VxOJu5T", "is_open": true, "title": "Wedding photo submission", "url": "https://www.dropbox.com/request/rxwMPvK3ATTa0VxOJu5T" }
id
String(min_length=1, pattern="[-_0-9a-zA-Z]+")The ID of the file request.url
String(min_length=1)The URL of the file request.title
String(min_length=1)The title of the file request.created
Timestamp(format="%Y-%m-%dT%H:%M:%SZ")When this file request was created.is_open
BooleanWhether or not the file request is open. If the file request is closed, it will not accept any more file submissions.file_count
Int64The number of files this file request has received.destination
String(pattern="/(.|[\r\n])*")?The path of the folder in the Dropbox where uploaded files will be sent. This can be None if the destination was removed. For apps with the app folder permission, this will be relative to the app folder. This field is optional.deadline
?The deadline for this file request. Only set if the request has a deadline. This field is optional.description
String?A description of the file request. This field is optional.video_project_id
String?If this request was created from video project, its id. This field is optional.{ "error": { ".tag": "disabled_for_team" }, "error_summary": "disabled_for_team/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
{ "error": { ".tag": "not_found" }, "error_summary": "not_found/..." }
{ "error": { ".tag": "not_a_folder" }, "error_summary": "not_a_folder/..." }
{ "error": { ".tag": "app_lacks_access" }, "error_summary": "app_lacks_access/..." }
{ "error": { ".tag": "no_permission" }, "error_summary": "no_permission/..." }
{ "error": { ".tag": "email_unverified" }, "error_summary": "email_unverified/..." }
{ "error": { ".tag": "validation_error" }, "error_summary": "validation_error/..." }
disabled_for_team
VoidThis user's Dropbox Business team doesn't allow file requests.not_found
VoidThis file request ID was not found.not_a_folder
VoidThe specified path is not a folder.app_lacks_access
VoidThis 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
VoidThis user doesn't have permission to access or modify this file request.email_unverified
VoidThis 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 here.validation_error
VoidThere was an error validating the request. For example, the title was invalid, or there were disallowed characters in the destination path.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.
https://api.dropboxapi.com/2/file_requests/list_v2
curl -X POST https://api.dropboxapi.com/2/file_requests/list_v2 \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"limit\":1000}"
{ "limit": 1000 }
limit
UInt64The maximum number of file requests that should be returned per request. The default for this field is 1000.{ "cursor": "ZtkX9_EHj3x7PMkVuFIhwKYXEpwpLwyxp9vMKomUhllil9q7eWiAu", "file_requests": [ { "created": "2015-10-05T17:00:00Z", "deadline": { "allow_late_uploads": { ".tag": "seven_days" }, "deadline": "2020-10-12T17:00:00Z" }, "description": "Please submit your homework here.", "destination": "/File Requests/Homework", "file_count": 3, "id": "oaCAVmEyrqYnkZX9955Y", "is_open": true, "title": "Homework submission", "url": "https://www.dropbox.com/request/oaCAVmEyrqYnkZX9955Y" }, { "created": "2015-11-02T04:00:00Z", "deadline": { "deadline": "2020-10-12T17:00:00Z" }, "destination": "/Photo contest entries", "file_count": 105, "id": "BAJ7IrRGicQKGToykQdB", "is_open": true, "title": "Photo contest submission", "url": "https://www.dropbox.com/request/BAJ7IrRGjcQKGToykQdB" }, { "created": "2015-12-15T13:02:00Z", "destination": "/Wedding photos", "file_count": 37, "id": "rxwMPvK3ATTa0VxOJu5T", "is_open": true, "title": "Wedding photo submission", "url": "https://www.dropbox.com/request/rxwMPvK3ATTa0VxOJu5T" } ], "has_more": true }
file_requests
List of ()The file requests owned by this user. Apps with the app folder permission will only see file requests in their app folder.cursor
StringPass the cursor into list/continue to obtain additional file requests.has_more
BooleanIs true if there are additional file requests that have not been returned yet. An additional call to :route:list/continue` can retrieve them.{ "error": { ".tag": "disabled_for_team" }, "error_summary": "disabled_for_team/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
disabled_for_team
VoidThis user's Dropbox Business team doesn't allow file requests.Once a cursor has been retrieved from list:2, use this to paginate through all file requests. The cursor must come from a previous call to list:2 or list/continue.
https://api.dropboxapi.com/2/file_requests/list/continue
curl -X POST https://api.dropboxapi.com/2/file_requests/list/continue \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"cursor\":\"ZtkX9_EHj3x7PMkVuFIhwKYXEpwpLwyxp9vMKomUhllil9q7eWiAu\"}"
{ "cursor": "ZtkX9_EHj3x7PMkVuFIhwKYXEpwpLwyxp9vMKomUhllil9q7eWiAu" }
cursor
StringThe cursor returned by the previous API call specified in the endpoint description.{ "cursor": "ZtkX9_EHj3x7PMkVuFIhwKYXEpwpLwyxp9vMKomUhllil9q7eWiAu", "file_requests": [ { "created": "2015-10-05T17:00:00Z", "deadline": { "allow_late_uploads": { ".tag": "seven_days" }, "deadline": "2020-10-12T17:00:00Z" }, "description": "Please submit your homework here.", "destination": "/File Requests/Homework", "file_count": 3, "id": "oaCAVmEyrqYnkZX9955Y", "is_open": true, "title": "Homework submission", "url": "https://www.dropbox.com/request/oaCAVmEyrqYnkZX9955Y" }, { "created": "2015-11-02T04:00:00Z", "deadline": { "deadline": "2020-10-12T17:00:00Z" }, "destination": "/Photo contest entries", "file_count": 105, "id": "BAJ7IrRGicQKGToykQdB", "is_open": true, "title": "Photo contest submission", "url": "https://www.dropbox.com/request/BAJ7IrRGjcQKGToykQdB" }, { "created": "2015-12-15T13:02:00Z", "destination": "/Wedding photos", "file_count": 37, "id": "rxwMPvK3ATTa0VxOJu5T", "is_open": true, "title": "Wedding photo submission", "url": "https://www.dropbox.com/request/rxwMPvK3ATTa0VxOJu5T" } ], "has_more": true }
file_requests
List of ()The file requests owned by this user. Apps with the app folder permission will only see file requests in their app folder.cursor
StringPass the cursor into list/continue to obtain additional file requests.has_more
BooleanIs true if there are additional file requests that have not been returned yet. An additional call to :route:list/continue` can retrieve them.{ "error": { ".tag": "disabled_for_team" }, "error_summary": "disabled_for_team/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
{ "error": { ".tag": "invalid_cursor" }, "error_summary": "invalid_cursor/..." }
disabled_for_team
VoidThis user's Dropbox Business team doesn't allow file requests.invalid_cursor
VoidThe cursor is invalid.Update a file request.
https://api.dropboxapi.com/2/file_requests/update
curl -X POST https://api.dropboxapi.com/2/file_requests/update \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"deadline\":{\".tag\":\"update\",\"allow_late_uploads\":\"seven_days\",\"deadline\":\"2020-10-12T17:00:00Z\"},\"destination\":\"/File Requests/Homework\",\"id\":\"oaCAVmEyrqYnkZX9955Y\",\"open\":true,\"title\":\"Homework submission\"}"
{ "deadline": { ".tag": "update", "allow_late_uploads": "seven_days", "deadline": "2020-10-12T17:00:00Z" }, "destination": "/File Requests/Homework", "id": "oaCAVmEyrqYnkZX9955Y", "open": true, "title": "Homework submission" }
id
String(min_length=1, pattern="[-_0-9a-zA-Z]+")The ID of the file request to update.title
String(min_length=1)?The new title of the file request. Must not be empty. This field is optional.destination
String(pattern="/(.|[\r\n])*")?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. This field is optional.deadline
The new deadline for the file request. Deadlines can only be set by Professional and Business accounts. The default for this union is no_update.open
Boolean?Whether to set this file request as open or closed. This field is optional.description
String?The description of the file request. This field is optional.{ "created": "2015-10-05T17:00:00Z", "deadline": { "allow_late_uploads": { ".tag": "seven_days" }, "deadline": "2020-10-12T17:00:00Z" }, "description": "Please submit your homework here.", "destination": "/File Requests/Homework", "file_count": 3, "id": "oaCAVmEyrqYnkZX9955Y", "is_open": true, "title": "Homework submission", "url": "https://www.dropbox.com/request/oaCAVmEyrqYnkZX9955Y" }
{ "created": "2015-11-02T04:00:00Z", "deadline": { "deadline": "2020-10-12T17:00:00Z" }, "destination": "/Photo contest entries", "file_count": 105, "id": "BAJ7IrRGicQKGToykQdB", "is_open": true, "title": "Photo contest submission", "url": "https://www.dropbox.com/request/BAJ7IrRGjcQKGToykQdB" }
{ "created": "2015-12-15T13:02:00Z", "destination": "/Wedding photos", "file_count": 37, "id": "rxwMPvK3ATTa0VxOJu5T", "is_open": true, "title": "Wedding photo submission", "url": "https://www.dropbox.com/request/rxwMPvK3ATTa0VxOJu5T" }
id
String(min_length=1, pattern="[-_0-9a-zA-Z]+")The ID of the file request.url
String(min_length=1)The URL of the file request.title
String(min_length=1)The title of the file request.created
Timestamp(format="%Y-%m-%dT%H:%M:%SZ")When this file request was created.is_open
BooleanWhether or not the file request is open. If the file request is closed, it will not accept any more file submissions.file_count
Int64The number of files this file request has received.destination
String(pattern="/(.|[\r\n])*")?The path of the folder in the Dropbox where uploaded files will be sent. This can be None if the destination was removed. For apps with the app folder permission, this will be relative to the app folder. This field is optional.deadline
?The deadline for this file request. Only set if the request has a deadline. This field is optional.description
String?A description of the file request. This field is optional.video_project_id
String?If this request was created from video project, its id. This field is optional.{ "error": { ".tag": "disabled_for_team" }, "error_summary": "disabled_for_team/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
{ "error": { ".tag": "not_found" }, "error_summary": "not_found/..." }
{ "error": { ".tag": "not_a_folder" }, "error_summary": "not_a_folder/..." }
{ "error": { ".tag": "app_lacks_access" }, "error_summary": "app_lacks_access/..." }
{ "error": { ".tag": "no_permission" }, "error_summary": "no_permission/..." }
{ "error": { ".tag": "email_unverified" }, "error_summary": "email_unverified/..." }
{ "error": { ".tag": "validation_error" }, "error_summary": "validation_error/..." }
disabled_for_team
VoidThis user's Dropbox Business team doesn't allow file requests.not_found
VoidThis file request ID was not found.not_a_folder
VoidThe specified path is not a folder.app_lacks_access
VoidThis 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
VoidThis user doesn't have permission to access or modify this file request.email_unverified
VoidThis 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 here.validation_error
VoidThere was an error validating the request. For example, the title was invalid, or there were disallowed characters in the destination path.This namespace contains endpoints and data types for basic file operations.
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.
https://api.dropboxapi.com/2/files/copy_v2
curl -X POST https://api.dropboxapi.com/2/files/copy_v2 \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"allow_ownership_transfer\":false,\"allow_shared_folder\":false,\"autorename\":false,\"from_path\":\"/Homework/math\",\"to_path\":\"/Homework/algebra\"}"
{ "allow_ownership_transfer": false, "allow_shared_folder": false, "autorename": false, "from_path": "/Homework/math", "to_path": "/Homework/algebra" }
from_path
String(pattern="(/(.|[\r\n])*)|(ns:[0-9]+(/.*)?)|(id:.*)")Path in the user's Dropbox to be copied or moved.to_path
String(pattern="(/(.|[\r\n])*)|(ns:[0-9]+(/.*)?)|(id:.*)")Path in the user's Dropbox that is the destination.allow_shared_folder
deprecatedBooleanField is deprecated. This flag has no effect. The default for this field is False.autorename
BooleanIf there's a conflict, have the Dropbox server try to autorename the file to avoid the conflict. The default for this field is False.allow_ownership_transfer
BooleanAllow moves by owner even if it would result in an ownership transfer for the content being moved. This does not apply to copies. The default for this field is False.{ "metadata": { ".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": "Prime_Numbers.txt", "path_display": "/Homework/math/Prime_Numbers.txt", "path_lower": "/homework/math/prime_numbers.txt", "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 } }
metadata
Metadata of the relocated object.{ "error": { ".tag": "cant_copy_shared_folder" }, "error_summary": "cant_copy_shared_folder/..." }
{ "error": { ".tag": "cant_nest_shared_folder" }, "error_summary": "cant_nest_shared_folder/..." }
{ "error": { ".tag": "cant_move_folder_into_itself" }, "error_summary": "cant_move_folder_into_itself/..." }
{ "error": { ".tag": "too_many_files" }, "error_summary": "too_many_files/..." }
{ "error": { ".tag": "duplicated_or_nested_paths" }, "error_summary": "duplicated_or_nested_paths/..." }
{ "error": { ".tag": "cant_transfer_ownership" }, "error_summary": "cant_transfer_ownership/..." }
{ "error": { ".tag": "insufficient_quota" }, "error_summary": "insufficient_quota/..." }
{ "error": { ".tag": "internal_error" }, "error_summary": "internal_error/..." }
{ "error": { ".tag": "cant_move_shared_folder" }, "error_summary": "cant_move_shared_folder/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
from_lookup
from_write
to
cant_copy_shared_folder
VoidShared folders can't be copied.cant_nest_shared_folder
VoidYour move operation would result in nested shared folders. This is not allowed.cant_move_folder_into_itself
VoidYou cannot move a folder into itself.too_many_files
VoidThe operation would involve more than 10,000 files and folders.duplicated_or_nested_paths
VoidThere are duplicated/nested paths among RelocationArg.from_path and RelocationArg.to_path.cant_transfer_ownership
VoidYour move operation would result in an ownership transfer. You may reissue the request with the field RelocationArg.allow_ownership_transfer to true.insufficient_quota
VoidThe current user does not have enough space to move or copy the files.internal_error
VoidSomething 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.cant_move_shared_folder
VoidCan't move the shared folder to the given destination.cant_move_into_vault
Some content cannot be moved into Vault under certain circumstances, see detailed error.cant_move_into_family
Some content cannot be moved into the Family Room folder under certain circumstances, see detailed error.Copy multiple files or folders to different locations at once in the user's Dropbox. This route will replace copy_batch:1. The main difference is this route will return status for each entry, while copy_batch:1 raises failure if any entry fails. This route will either finish synchronously, or return a job ID and do the async copy job in background. Please use copy_batch/check:2 to check the job status.
https://api.dropboxapi.com/2/files/copy_batch_v2
curl -X POST https://api.dropboxapi.com/2/files/copy_batch_v2 \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"autorename\":false,\"entries\":[{\"from_path\":\"/Homework/math\",\"to_path\":\"/Homework/algebra\"}]}"
{ "autorename": false, "entries": [ { "from_path": "/Homework/math", "to_path": "/Homework/algebra" } ] }
entries
List of (, min_items=1, max_items=1000)List of entries to be moved or copied. Each entry is RelocationPath.autorename
BooleanIf there's a conflict with any file, have the Dropbox server try to autorename that file to avoid the conflict. The default for this field is False.{ ".tag": "complete", "entries": [ { ".tag": "success", "success": { ".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": "Prime_Numbers.txt", "path_display": "/Homework/math/Prime_Numbers.txt", "path_lower": "/homework/math/prime_numbers.txt", "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": "async_job_id", "async_job_id": "34g93hh34h04y384084" }
async_job_id
String(min_length=1)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
Returns the status of an asynchronous job for copy_batch:2. It returns list of results for each entry.
https://api.dropboxapi.com/2/files/copy_batch/check_v2
curl -X POST https://api.dropboxapi.com/2/files/copy_batch/check_v2 \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"async_job_id\":\"34g93hh34h04y384084\"}"
{ "async_job_id": "34g93hh34h04y384084" }
async_job_id
String(min_length=1)Id of the asynchronous job. This is the value of a response returned from the method that launched the job.{ ".tag": "complete", "entries": [ { ".tag": "success", "success": { ".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": "Prime_Numbers.txt", "path_display": "/Homework/math/Prime_Numbers.txt", "path_lower": "/homework/math/prime_numbers.txt", "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": "in_progress" }
in_progress
VoidThe asynchronous job is still in progress.complete
The copy or move batch job has finished.{ "error": { ".tag": "invalid_async_job_id" }, "error_summary": "invalid_async_job_id/..." }
{ "error": { ".tag": "internal_error" }, "error_summary": "internal_error/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
invalid_async_job_id
VoidThe job ID is invalid.internal_error
VoidSomething 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.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 copy_reference/save.
https://api.dropboxapi.com/2/files/copy_reference/get
curl -X POST https://api.dropboxapi.com/2/files/copy_reference/get \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"path\":\"/video.mp4\"}"
{ "path": "/video.mp4" }
path
String(pattern="(/(.|[\r\n])*|id:.*)|(rev:[0-9a-f]{9,})|(ns:[0-9]+(/.*)?)")The path to the file or folder you want to get a copy reference to.{ "copy_reference": "z1X6ATl6aWtzOGq0c3g5Ng", "expires": "2045-05-12T15:50:38Z", "metadata": { ".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": "Prime_Numbers.txt", "path_display": "/Homework/math/Prime_Numbers.txt", "path_lower": "/homework/math/prime_numbers.txt", "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 } }
metadata
Metadata of the file or folder.copy_reference
StringA copy reference to the file or folder.expires
Timestamp(format="%Y-%m-%dT%H:%M:%SZ")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.path
Save a copy reference returned by copy_reference/get to the user's Dropbox.
https://api.dropboxapi.com/2/files/copy_reference/save
curl -X POST https://api.dropboxapi.com/2/files/copy_reference/save \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"copy_reference\":\"z1X6ATl6aWtzOGq0c3g5Ng\",\"path\":\"/video.mp4\"}"
{ "copy_reference": "z1X6ATl6aWtzOGq0c3g5Ng", "path": "/video.mp4" }
copy_reference
StringA copy reference returned by copy_reference/get.path
String(pattern="/(.|[\r\n])*")Path in the user's Dropbox that is the destination.{ "metadata": { ".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": "Prime_Numbers.txt", "path_display": "/Homework/math/Prime_Numbers.txt", "path_lower": "/homework/math/prime_numbers.txt", "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 } }
metadata
The metadata of the saved file or folder in the user's Dropbox.{ "error": { ".tag": "invalid_copy_reference" }, "error_summary": "invalid_copy_reference/..." }
{ "error": { ".tag": "no_permission" }, "error_summary": "no_permission/..." }
{ "error": { ".tag": "not_found" }, "error_summary": "not_found/..." }
{ "error": { ".tag": "too_many_files" }, "error_summary": "too_many_files/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
path
invalid_copy_reference
VoidThe copy reference is invalid.no_permission
VoidYou 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
VoidThe file referenced by the copy reference cannot be found.too_many_files
VoidThe operation would involve more than 10,000 files and folders.Create a folder at a given path.
https://api.dropboxapi.com/2/files/create_folder_v2
curl -X POST https://api.dropboxapi.com/2/files/create_folder_v2 \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"autorename\":false,\"path\":\"/Homework/math\"}"
{ "autorename": false, "path": "/Homework/math" }
path
String(pattern="(/(.|[\r\n])*)|(ns:[0-9]+(/.*)?)")Path in the user's Dropbox to create.autorename
BooleanIf there's a conflict, have the Dropbox server try to autorename the folder to avoid the conflict. The default for this field is False.{ "metadata": { "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 } } }
metadata
Metadata of the created folder.path
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 CreateFolderBatchArg.force_async flag. Use create_folder_batch/check to check the job status.
https://api.dropboxapi.com/2/files/create_folder_batch
curl -X POST https://api.dropboxapi.com/2/files/create_folder_batch \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"autorename\":false,\"force_async\":false,\"paths\":[\"/Homework/math\"]}"
{ "autorename": false, "force_async": false, "paths": [ "/Homework/math" ] }
paths
List of (String(pattern="(/(.|[\r\n])*)|(ns:[0-9]+(/.*)?)"), max_items=10000)List of paths to be created in the user's Dropbox. Duplicate path arguments in the batch are considered only once.autorename
BooleanIf there's a conflict, have the Dropbox server try to autorename the folder to avoid the conflict. The default for this field is False.force_async
BooleanWhether to force the create to happen asynchronously. The default for this field is False.{ ".tag": "complete", "entries": [ { ".tag": "success", "metadata": { "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 } } } ] }
{ ".tag": "async_job_id", "async_job_id": "34g93hh34h04y384084" }
{ ".tag": "other" }
async_job_id
String(min_length=1)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
Returns the status of an asynchronous job for create_folder_batch. If success, it returns list of result for each entry.
https://api.dropboxapi.com/2/files/create_folder_batch/check
curl -X POST https://api.dropboxapi.com/2/files/create_folder_batch/check \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"async_job_id\":\"34g93hh34h04y384084\"}"
{ "async_job_id": "34g93hh34h04y384084" }
async_job_id
String(min_length=1)Id of the asynchronous job. This is the value of a response returned from the method that launched the job.{ ".tag": "complete", "entries": [ { ".tag": "success", "metadata": { "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 } } } ] }
{ ".tag": "in_progress" }
{ ".tag": "other" }
in_progress
VoidThe asynchronous job is still in progress.complete
The batch create folder has finished.failed
The batch create folder has failed.{ "error": { ".tag": "invalid_async_job_id" }, "error_summary": "invalid_async_job_id/..." }
{ "error": { ".tag": "internal_error" }, "error_summary": "internal_error/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
invalid_async_job_id
VoidThe job ID is invalid.internal_error
VoidSomething 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.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 FileMetadata or FolderMetadata for the item at time of deletion, and not a DeletedMetadata object.
https://api.dropboxapi.com/2/files/delete_v2
curl -X POST https://api.dropboxapi.com/2/files/delete_v2 \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"path\":\"/Homework/math/Prime_Numbers.txt\"}"
{ "path": "/Homework/math/Prime_Numbers.txt" }
path
String(pattern="(/(.|[\r\n])*)|(ns:[0-9]+(/.*)?)|(id:.*)")Path in the user's Dropbox to delete.parent_rev
String(min_length=9, pattern="[0-9a-f]+")?Perform delete if given "rev" matches the existing file's latest "rev". This field does not support deleting a folder. This field is optional.{ "metadata": { ".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": "Prime_Numbers.txt", "path_display": "/Homework/math/Prime_Numbers.txt", "path_lower": "/homework/math/prime_numbers.txt", "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 } }
metadata
Metadata of the deleted object.{ "error": { ".tag": "too_many_write_operations" }, "error_summary": "too_many_write_operations/..." }
{ "error": { ".tag": "too_many_files" }, "error_summary": "too_many_files/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
path_lookup
path_write
too_many_write_operations
VoidThere are too many write operations in user's Dropbox. Please retry this request.too_many_files
VoidThere are too many files in one request. Please retry with fewer files.Delete multiple files/folders at once. This route is asynchronous, which returns a job ID immediately and runs the delete batch asynchronously. Use delete_batch/check to check the job status.
https://api.dropboxapi.com/2/files/delete_batch
curl -X POST https://api.dropboxapi.com/2/files/delete_batch \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"entries\":[{\"path\":\"/Homework/math/Prime_Numbers.txt\"}]}"
{ "entries": [ { "path": "/Homework/math/Prime_Numbers.txt" } ] }
entries
List of (, max_items=1000){ ".tag": "complete", "entries": [ { ".tag": "success", "metadata": { ".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": "Prime_Numbers.txt", "path_display": "/Homework/math/Prime_Numbers.txt", "path_lower": "/homework/math/prime_numbers.txt", "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": "async_job_id", "async_job_id": "34g93hh34h04y384084" }
{ ".tag": "other" }
async_job_id
String(min_length=1)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
Returns the status of an asynchronous job for delete_batch. If success, it returns list of result for each entry.
https://api.dropboxapi.com/2/files/delete_batch/check
curl -X POST https://api.dropboxapi.com/2/files/delete_batch/check \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"async_job_id\":\"34g93hh34h04y384084\"}"
{ "async_job_id": "34g93hh34h04y384084" }
async_job_id
String(min_length=1)Id of the asynchronous job. This is the value of a response returned from the method that launched the job.{ ".tag": "complete", "entries": [ { ".tag": "success", "metadata": { ".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": "Prime_Numbers.txt", "path_display": "/Homework/math/Prime_Numbers.txt", "path_lower": "/homework/math/prime_numbers.txt", "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": "in_progress" }
{ ".tag": "other" }
in_progress
VoidThe asynchronous job is still in progress.complete
The batch delete has finished.failed
The batch delete has failed.{ "error": { ".tag": "invalid_async_job_id" }, "error_summary": "invalid_async_job_id/..." }
{ "error": { ".tag": "internal_error" }, "error_summary": "internal_error/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
invalid_async_job_id
VoidThe job ID is invalid.internal_error
VoidSomething 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.Download a file from a user's Dropbox.
https://content.dropboxapi.com/2/files/download
curl -X POST https://content.dropboxapi.com/2/files/download \
--header "Authorization: Bearer " \
--header "Dropbox-API-Arg: {\"path\":\"/Homework/math/Prime_Numbers.txt\"}"
{ "path": "/Homework/math/Prime_Numbers.txt" }
{ "path": "id:a4ayc_80_OEAAAAAAAAAYa" }
{ "path": "rev:a1c10ce0dd78" }
path
String(pattern="(/(.|[\r\n])*|id:.*)|(rev:[0-9a-f]{9,})|(ns:[0-9]+(/.*)?)")The path of the file to download.rev
deprecated String(min_length=9, pattern="[0-9a-f]+")?Field is deprecated. Please specify revision in path instead. This field is optional.{ "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": "Prime_Numbers.txt", "path_display": "/Homework/math/Prime_Numbers.txt", "path_lower": "/homework/math/prime_numbers.txt", "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 }
{ "client_modified": "2015-05-12T15:50:38Z", "content_hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "has_explicit_shared_members": false, "id": "id:a4ayc_80_OEAAAAAAAAAXw", "is_downloadable": true, "name": "Prime_Numbers.txt", "path_display": "/Homework/math/Prime_Numbers.txt", "path_lower": "/homework/math/prime_numbers.txt", "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 }
name
StringThe last component of the path (including extension). This never contains a slash.id
String(min_length=1)A unique identifier for the file.client_modified
Timestamp(format="%Y-%m-%dT%H:%M:%SZ")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
Timestamp(format="%Y-%m-%dT%H:%M:%SZ")The last time the file was modified on Dropbox.rev
String(min_length=9, pattern="[0-9a-f]+")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
UInt64The file size in bytes.path_lower
String?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. This field is optional.path_display
String?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 list_folder/continue. This field will be null if the file or folder is not mounted. This field is optional.parent_shared_folder_id
deprecated String(pattern="[-_0-9a-zA-Z:]+")?Field is deprecated. Please use FileSharingInfo.parent_shared_folder_id or FolderSharingInfo.parent_shared_folder_id instead. This field is optional.preview_url
String?The preview URL of the file. This field is optional.media_info
?Additional information if the file is a photo or video. This field will not be set on entries returned by list_folder, list_folder/continue, or get_thumbnail_batch, starting December 2, 2019. This field is optional.symlink_info
?Set if this file is a symlink. This field is optional.sharing_info
?Set if this file is contained in a shared folder. This field is optional.is_downloadable
BooleanIf true, file can be downloaded directly; else the file must be exported. The default for this field is True.export_info
?Information about format this file can be exported to. This filed must be set if is_downloadable is set to false. This field is optional.property_groups
List of ()?Additional information if the file has custom properties with the property template specified. This field is optional.has_explicit_shared_members
Boolean?This flag will only be present if include_has_explicit_shared_members is true in list_folder or 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. This field is optional.content_hash
String(min_length=64, max_length=64)?A hash of the file content. This field can be used to verify data integrity. For more information see our Content hash page. This field is optional.file_lock_info
?If present, the metadata associated with the file's current lock. This field is optional.{ "error": { ".tag": "unsupported_file" }, "error_summary": "unsupported_file/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
path
unsupported_file
VoidThis file type cannot be downloaded directly; use export instead.Download a folder from the user's Dropbox, as a zip file. The folder must be less than 20 GB in size and any single file within must be less than 4 GB in size. The resulting zip must have fewer than 10,000 total file and folder entries, including the top level folder. The input cannot be a single file. Note: this endpoint does not support HTTP range requests.
https://content.dropboxapi.com/2/files/download_zip
curl -X POST https://content.dropboxapi.com/2/files/download_zip \
--header "Authorization: Bearer " \
--header "Dropbox-API-Arg: {\"path\":\"/Homework/math\"}"
{ "path": "/Homework/math" }
{ "path": "id:a4ayc_80_OEAAAAAAAAAYa" }
{ "path": "rev:a1c10ce0dd78" }
path
String(pattern="(/(.|[\r\n])*|id:.*)|(rev:[0-9a-f]{9,})|(ns:[0-9]+(/.*)?)")The path of the folder to download.{ "metadata": { "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 } } }
metadata
{ "error": { ".tag": "too_large" }, "error_summary": "too_large/..." }
{ "error": { ".tag": "too_many_files" }, "error_summary": "too_many_files/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
path
too_large
VoidThe folder or a file is too large to download.too_many_files
VoidThe folder has too many files to download.Export a file from a user's Dropbox. This route only supports exporting files that cannot be downloaded directly and whose ExportResult.file_metadata has ExportInfo.export_as populated.
https://content.dropboxapi.com/2/files/export
curl -X POST https://content.dropboxapi.com/2/files/export \
--header "Authorization: Bearer " \
--header "Dropbox-API-Arg: {\"path\":\"/Homework/math/Prime_Numbers.gsheet\"}"
{ "path": "/Homework/math/Prime_Numbers.gsheet" }
{ "path": "id:a4ayc_80_OEAAAAAAAAAYa" }
path
String(pattern="(/(.|[\r\n])*|id:.*)|(rev:[0-9a-f]{9,})|(ns:[0-9]+(/.*)?)")The path of the file to be exported.export_format
String?The file format to which the file should be exported. This must be one of the formats listed in the file's export_options returned by get_metadata. If none is specified, the default format (specified in export_as in file metadata) will be used. This field is optional.{ "export_metadata": { "export_hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "name": "Prime_Numbers.xlsx", "size": 7189 }, "file_metadata": { "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": "Prime_Numbers.txt", "path_display": "/Homework/math/Prime_Numbers.txt", "path_lower": "/homework/math/prime_numbers.txt", "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 } }
export_metadata
Metadata for the exported version of the file.file_metadata
Metadata for the original file.{ "error": { ".tag": "non_exportable" }, "error_summary": "non_exportable/..." }
{ "error": { ".tag": "invalid_export_format" }, "error_summary": "invalid_export_format/..." }
{ "error": { ".tag": "retry_error" }, "error_summary": "retry_error/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
path
non_exportable
VoidThis file type cannot be exported. Use download instead.invalid_export_format
VoidThe specified export format is not a valid option for this file type.retry_error
VoidThe exportable content is not yet available. Please retry later.Return the lock metadata for the given list of paths.
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/files/get_file_lock_batch
curl -X POST https://api.dropboxapi.com/2/files/get_file_lock_batch \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"entries\":[{\"path\":\"/John Doe/sample/test.pdf\"}]}"
{ "entries": [ { "path": "/John Doe/sample/test.pdf" } ] }
entries
List of ()List of 'entries'. Each 'entry' contains a path of the file which will be locked or queried. Duplicate path arguments in the batch are considered only once.{ "entries": [ { ".tag": "success", "lock": { "content": { ".tag": "single_user", "created": "2015-05-12T15:50:38Z", "lock_holder_account_id": "dbid:AAH4f99T0taONIb-OurWxbNQ6ywGRopQngc", "lock_holder_team_id": "dbtid:1234abcd" } }, "metadata": { ".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": "Prime_Numbers.txt", "path_display": "/Homework/math/Prime_Numbers.txt", "path_lower": "/homework/math/prime_numbers.txt", "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 } } ] }
entries
List of ()Each Entry in the 'entries' will have '.tag' with the operation status (e.g. success), the metadata for the file and the lock state after the operation.{ "error": { ".tag": "too_many_write_operations" }, "error_summary": "too_many_write_operations/..." }
{ "error": { ".tag": "too_many_files" }, "error_summary": "too_many_files/..." }
{ "error": { ".tag": "no_write_permission" }, "error_summary": "no_write_permission/..." }
{ "error": { ".tag": "cannot_be_locked" }, "error_summary": "cannot_be_locked/..." }
{ "error": { ".tag": "file_not_shared" }, "error_summary": "file_not_shared/..." }
{ "error": { ".tag": "internal_error" }, "error_summary": "internal_error/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
path_lookup
Could not find the specified resource.too_many_write_operations
VoidThere are too many write operations in user's Dropbox. Please retry this request.too_many_files
VoidThere are too many files in one request. Please retry with fewer files.no_write_permission
VoidThe user does not have permissions to change the lock state or access the file.cannot_be_locked
VoidItem is a type that cannot be locked.file_not_shared
VoidRequested file is not currently shared.lock_conflict
The user action conflicts with an existing lock on the file.internal_error
VoidSomething 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.Returns the metadata for a file or folder. Note: Metadata for the root folder is unsupported.
https://api.dropboxapi.com/2/files/get_metadata
curl -X POST https://api.dropboxapi.com/2/files/get_metadata \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"include_deleted\":false,\"include_has_explicit_shared_members\":false,\"include_media_info\":false,\"path\":\"/Homework/math\"}"
{ "include_deleted": false, "include_has_explicit_shared_members": false, "include_media_info": false, "path": "/Homework/math" }
{ "include_deleted": false, "include_has_explicit_shared_members": false, "include_media_info": false, "path": "id:a4ayc_80_OEAAAAAAAAAYa" }
{ "include_deleted": false, "include_has_explicit_shared_members": false, "include_media_info": false, "path": "rev:a1c10ce0dd78" }
path
String(pattern="(/(.|[\r\n])*|id:.*)|(rev:[0-9a-f]{9,})|(ns:[0-9]+(/.*)?)")The path of a file or folder on Dropbox.include_media_info
BooleanIf true, FileMetadata.media_info is set for photo and video. The default for this field is False.include_deleted
BooleanIf true, DeletedMetadata will be returned for deleted file or folder, otherwise LookupError.not_found will be returned. The default for this field is False.include_has_explicit_shared_members
BooleanIf true, the results will include a flag for each file indicating whether or not that file has any explicit members. The default for this field is False.include_property_groups
?If set to a valid list of template IDs, FileMetadata.property_groups is set if there exists property data associated with the file and each of the listed templates. This field is optional.{ ".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": "Prime_Numbers.txt", "path_display": "/Homework/math/Prime_Numbers.txt", "path_lower": "/homework/math/prime_numbers.txt", "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 } }
{ ".tag": "file", "client_modified": "2015-05-12T15:50:38Z", "content_hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "has_explicit_shared_members": false, "id": "id:a4ayc_80_OEAAAAAAAAAXw", "is_downloadable": true, "name": "Prime_Numbers.txt", "path_display": "/Homework/math/Prime_Numbers.txt", "path_lower": "/homework/math/prime_numbers.txt", "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 }
file
folder
deleted
path
Get a preview for a file. Currently, PDF previews are generated for files with the following extensions: .ai, .doc, .docm, .docx, .eps, .gdoc, .gslides, .odp, .odt, .pps, .ppsm, .ppsx, .ppt, .pptm, .pptx, .rtf. HTML previews are generated for files with the following extensions: .csv, .ods, .xls, .xlsm, .gsheet, .xlsx. Other formats will return an unsupported extension error.
https://content.dropboxapi.com/2/files/get_preview
curl -X POST https://content.dropboxapi.com/2/files/get_preview \
--header "Authorization: Bearer " \
--header "Dropbox-API-Arg: {\"path\":\"/word.docx\"}"
{ "path": "/word.docx" }
{ "path": "id:a4ayc_80_OEAAAAAAAAAYa" }
{ "path": "rev:a1c10ce0dd78" }
path
String(pattern="(/(.|[\r\n])*|id:.*)|(rev:[0-9a-f]{9,})|(ns:[0-9]+(/.*)?)")The path of the file to preview.rev
deprecated String(min_length=9, pattern="[0-9a-f]+")?Field is deprecated. Please specify revision in path instead. This field is optional.{ "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": "Prime_Numbers.txt", "path_display": "/Homework/math/Prime_Numbers.txt", "path_lower": "/homework/math/prime_numbers.txt", "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 }
{ "client_modified": "2015-05-12T15:50:38Z", "content_hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "has_explicit_shared_members": false, "id": "id:a4ayc_80_OEAAAAAAAAAXw", "is_downloadable": true, "name": "Prime_Numbers.txt", "path_display": "/Homework/math/Prime_Numbers.txt", "path_lower": "/homework/math/prime_numbers.txt", "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 }
name
StringThe last component of the path (including extension). This never contains a slash.id
String(min_length=1)A unique identifier for the file.client_modified
Timestamp(format="%Y-%m-%dT%H:%M:%SZ")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
Timestamp(format="%Y-%m-%dT%H:%M:%SZ")The last time the file was modified on Dropbox.rev
String(min_length=9, pattern="[0-9a-f]+")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
UInt64The file size in bytes.path_lower
String?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. This field is optional.path_display
String?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 list_folder/continue. This field will be null if the file or folder is not mounted. This field is optional.parent_shared_folder_id
deprecated String(pattern="[-_0-9a-zA-Z:]+")?Field is deprecated. Please use FileSharingInfo.parent_shared_folder_id or FolderSharingInfo.parent_shared_folder_id instead. This field is optional.preview_url
String?The preview URL of the file. This field is optional.media_info
?Additional information if the file is a photo or video. This field will not be set on entries returned by list_folder, list_folder/continue, or get_thumbnail_batch, starting December 2, 2019. This field is optional.symlink_info
?Set if this file is a symlink. This field is optional.sharing_info
?Set if this file is contained in a shared folder. This field is optional.is_downloadable
BooleanIf true, file can be downloaded directly; else the file must be exported. The default for this field is True.export_info
?Information about format this file can be exported to. This filed must be set if is_downloadable is set to false. This field is optional.property_groups
List of ()?Additional information if the file has custom properties with the property template specified. This field is optional.has_explicit_shared_members
Boolean?This flag will only be present if include_has_explicit_shared_members is true in list_folder or 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. This field is optional.content_hash
String(min_length=64, max_length=64)?A hash of the file content. This field can be used to verify data integrity. For more information see our Content hash page. This field is optional.file_lock_info
?If present, the metadata associated with the file's current lock. This field is optional.{ "error": { ".tag": "in_progress" }, "error_summary": "in_progress/..." }
{ "error": { ".tag": "unsupported_extension" }, "error_summary": "unsupported_extension/..." }
{ "error": { ".tag": "unsupported_content" }, "error_summary": "unsupported_content/..." }
path
An error occurs when downloading metadata for the file.in_progress
VoidThis preview generation is still in progress and the file is not ready for preview yet.unsupported_extension
VoidThe file extension is not supported preview generation.unsupported_content
VoidThe file content is not supported for preview generation.Get a temporary link to stream content of a file. This link will expire in four hours and afterwards you will get 410 Gone. This URL should not be used to display content directly in the browser. The Content-Type of the link is determined automatically by the file's mime type.
https://api.dropboxapi.com/2/files/get_temporary_link
curl -X POST https://api.dropboxapi.com/2/files/get_temporary_link \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"path\":\"/video.mp4\"}"
{ "path": "/video.mp4" }
path
String(pattern="(/(.|[\r\n])*|id:.*)|(rev:[0-9a-f]{9,})|(ns:[0-9]+(/.*)?)")The path to the file you want a temporary link to.{ "link": "https://ucabc123456.dl.dropboxusercontent.com/cd/0/get/abcdefghijklmonpqrstuvwxyz1234567890/file", "metadata": { "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": "Prime_Numbers.txt", "path_display": "/Homework/math/Prime_Numbers.txt", "path_lower": "/homework/math/prime_numbers.txt", "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 } }
metadata
Metadata of the file.link
StringThe temporary link which can be used to stream content the file.{ "error": { ".tag": "email_not_verified" }, "error_summary": "email_not_verified/..." }
{ "error": { ".tag": "unsupported_file" }, "error_summary": "unsupported_file/..." }
{ "error": { ".tag": "not_allowed" }, "error_summary": "not_allowed/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
path
email_not_verified
VoidThis user's email address is not verified. This functionality is only available on accounts with a verified email address. Users can verify their email address here.unsupported_file
VoidCannot get temporary link to this file type; use export instead.not_allowed
VoidThe user is not allowed to request a temporary link to the specified file. For example, this can occur if the file is restricted or if the user's links are banned.Get a one-time use temporary upload link to upload a file to a Dropbox location. This endpoint acts as a delayed upload. The returned temporary upload link may be used to make a POST request with the data to be uploaded. The upload will then be perfomed with the CommitInfo previously provided to get_temporary_upload_link but evaluated only upon consumption. Hence, errors stemming from invalid CommitInfo with respect to the state of the user's Dropbox will only be communicated at consumption time. Additionally, these errors are surfaced as generic HTTP 409 Conflict responses, potentially hiding issue details. The maximum temporary upload link duration is 4 hours. Upon consumption or expiration, a new link will have to be generated. Multiple links may exist for a specific upload path at any given time. The POST request on the temporary upload link must have its Content-Type set to "application/octet-stream". Example temporary upload link consumption request: curl -X POST https://content.dropboxapi.com/apitul/1/bNi2uIYF51cVBND --header "Content-Type: application/octet-stream" --data-binary @local_file.txt A successful temporary upload link consumption request returns the content hash of the uploaded data in JSON format. Example successful temporary upload link consumption response: {"content-hash": "599d71033d700ac892a0e48fa61b125d2f5994"} An unsuccessful temporary upload link consumption request returns any of the following status codes: HTTP 400 Bad Request: Content-Type is not one of application/octet-stream and text/plain or request is invalid. HTTP 409 Conflict: The temporary upload link does not exist or is currently unavailable, the upload failed, or another error happened. HTTP 410 Gone: The temporary upload link is expired or consumed. Example unsuccessful temporary upload link consumption response: Temporary upload link has been recently consumed.
https://api.dropboxapi.com/2/files/get_temporary_upload_link
curl -X POST https://api.dropboxapi.com/2/files/get_temporary_upload_link \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"commit_info\":{\"autorename\":true,\"mode\":\"add\",\"mute\":false,\"path\":\"/Homework/math/Matrices.txt\",\"strict_conflict\":false},\"duration\":3600}"
{ "commit_info": { "autorename": true, "mode": "add", "mute": false, "path": "/Homework/math/Matrices.txt", "strict_conflict": false }, "duration": 3600 }
commit_info
Contains the path and other optional modifiers for the future upload commit. Equivalent to the parameters provided to upload.duration
Float64(min=60.0, max=14400.0)How long before this link expires, in seconds. Attempting to start an upload with this link longer than this period of time after link creation will result in an error. The default for this field is 14400.0.{ "link": "https://content.dropboxapi.com/apitul/1/bNi2uIYF51cVBND" }
link
StringThe temporary link which can be used to stream a file to a Dropbox location.Get a thumbnail for an image. This method currently supports files with the following file extensions: jpg, jpeg, png, tiff, tif, gif, webp, ppm and bmp. Photos that are larger than 20MB in size won't be converted to a thumbnail.
https://content.dropboxapi.com/2/files/get_thumbnail_v2
curl -X POST https://content.dropboxapi.com/2/files/get_thumbnail_v2 \
--header "Authorization: Basic " \
--header "Dropbox-API-Arg: {\"format\":\"jpeg\",\"mode\":\"strict\",\"quality\":\"quality_80\",\"resource\":{\".tag\":\"path\",\"path\":\"/a.docx\"},\"size\":\"w64h64\"}"
{ "format": "jpeg", "mode": "strict", "quality": "quality_80", "resource": { ".tag": "path", "path": "/a.docx" }, "size": "w64h64" }
resource
Information specifying which file to preview. This could be a path to a file, a shared link pointing to a file, or a shared link pointing to a folder, with a relative path.format
The format for the thumbnail image, jpeg (default), png, or webp. For images that are photos, jpeg should be preferred, while png is better for screenshots and digital arts, and web for compression. The default for this union is jpeg.size
The size for the thumbnail image. The default for this union is w64h64.mode
How to resize and crop the image to achieve the desired size. The default for this union is strict.quality
internalField is only returned for "internal" callers. Quality of the thumbnail image. The default for this union is quality_80.exclude_media_info
Boolean?Normally, FileMetadata.media_info is set for photo and video. When this flag is true, FileMetadata.media_info is not populated. This improves latency for use cases where `media_info` is not needed. This field is optional.{ "file_metadata": { "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": "Prime_Numbers.txt", "path_display": "/Homework/math/Prime_Numbers.txt", "path_lower": "/homework/math/prime_numbers.txt", "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 } }
file_metadata
?Metadata corresponding to the file received as an argument. Will be populated if the endpoint is called with a path (ReadPath). This field is optional.link_metadata
?Minimal metadata corresponding to the file received as an argument. Will be populated if the endpoint is called using a shared link (SharedLinkFileInfo). This field is optional.{ "error": { ".tag": "unsupported_extension" }, "error_summary": "unsupported_extension/..." }
{ "error": { ".tag": "unsupported_image" }, "error_summary": "unsupported_image/..." }
{ "error": { ".tag": "encrypted_content" }, "error_summary": "encrypted_content/..." }
{ "error": { ".tag": "conversion_error" }, "error_summary": "conversion_error/..." }
{ "error": { ".tag": "access_denied" }, "error_summary": "access_denied/..." }
{ "error": { ".tag": "not_found" }, "error_summary": "not_found/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
path
An error occurred when downloading metadata for the image.unsupported_extension
VoidThe file extension doesn't allow conversion to a thumbnail.unsupported_image
VoidThe image cannot be converted to a thumbnail.encrypted_content
VoidEncrypted content cannot be converted to a thumbnail.conversion_error
VoidAn error occurred during thumbnail conversion.access_denied
VoidAccess to this shared link is forbidden.not_found
VoidThe shared link does not exist.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, webp, ppm and bmp. Photos that are larger than 20MB in size won't be converted to a thumbnail.
https://content.dropboxapi.com/2/files/get_thumbnail_batch
curl -X POST https://content.dropboxapi.com/2/files/get_thumbnail_batch \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"entries\":[{\"format\":\"jpeg\",\"mode\":\"strict\",\"path\":\"/image.jpg\",\"quality\":\"quality_80\",\"size\":\"w64h64\"}]}"
{ "entries": [ { "format": "jpeg", "mode": "strict", "path": "/image.jpg", "quality": "quality_80", "size": "w64h64" } ] }
entries
List of ()List of files to get thumbnails.{ "entries": [ { ".tag": "success", "metadata": { "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": "Prime_Numbers.txt", "path_display": "/Homework/math/Prime_Numbers.txt", "path_lower": "/homework/math/prime_numbers.txt", "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 }, "thumbnail": "iVBORw0KGgoAAAANSUhEUgAAAdcAAABrCAMAAAI=" } ] }
entries
List of ()List of files and their thumbnails.{ "error": { ".tag": "too_many_files" }, "error_summary": "too_many_files/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
too_many_files
VoidThe operation involves more than 25 files.Starts returning the contents of a folder. If the result's ListFolderResult.has_more field is true, call list_folder/continue with the returned ListFolderResult.cursor to retrieve more entries. If you're using ListFolderArg.recursive set to 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 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 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 FolderSharingInfo.read_only and set all its children's read-only statuses to match. For each 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: auth.RateLimitError may be returned if multiple list_folder or 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.
https://api.dropboxapi.com/2/files/list_folder
curl -X POST https://api.dropboxapi.com/2/files/list_folder \
--header "Authorization: Basic " \
--header "Content-Type: application/json" \
--data "{\"include_deleted\":false,\"include_has_explicit_shared_members\":false,\"include_media_info\":false,\"include_mounted_folders\":true,\"include_non_downloadable_files\":true,\"path\":\"/Homework/math\",\"recursive\":false}"
{ "include_deleted": false, "include_has_explicit_shared_members": false, "include_media_info": false, "include_mounted_folders": true, "include_non_downloadable_files": true, "path": "/Homework/math", "recursive": false }
path
String(pattern="(/(.|[\r\n])*)?|id:.*|(ns:[0-9]+(/.*)?)")A unique identifier for the file.recursive
BooleanIf true, the list folder operation will be applied recursively to all subfolders and the response will contain contents of all subfolders. In some cases, setting ListFolderArg.recursive to true may lead to performance issues or errors, especially when traversing folder structures with a large number of items. A workaround for such cases is to set ListFolderArg.recursive to false and traverse subfolders one at a time. The default for this field is False.include_media_info
deprecatedBooleanField is deprecated. If true, FileMetadata.media_info is set for photo and video. This parameter will no longer have an effect starting December 2, 2019. The default for this field is False.include_deleted
BooleanIf true, the results will include entries for files and folders that used to exist but were deleted. The default for this field is False.include_has_explicit_shared_members
BooleanIf true, the results will include a flag for each file indicating whether or not that file has any explicit members. The default for this field is False.include_mounted_folders
BooleanIf true, the results will include entries under mounted folders which includes app folder, shared folder and team folder. The default for this field is True.limit
UInt32(min=1, max=2000)?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. This field is optional.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, ListFolderArg.path will be relative to root of the shared link. Only non-recursive mode is supported for shared link. This field is optional.include_property_groups
?If set to a valid list of template IDs, FileMetadata.property_groups is set if there exists property data associated with the file and each of the listed templates. This field is optional.include_non_downloadable_files
BooleanIf true, include files that are not downloadable, i.e. Google Docs. The default for this field is True.{ "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": "Prime_Numbers.txt", "path_display": "/Homework/math/Prime_Numbers.txt", "path_lower": "/homework/math/prime_numbers.txt", "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": false }
entries
List of ()The files and (direct) subfolders in the folder.cursor
String(min_length=1)Pass the cursor into list_folder/continue to see what's changed in the folder since your previous query.has_more
BooleanIf true, then there are more entries available. Pass the cursor to list_folder/continue to retrieve the rest.path
template_error
Once a cursor has been retrieved from list_folder, use this to paginate through all files and retrieve updates to the folder, following the same rules as documented for list_folder.
https://api.dropboxapi.com/2/files/list_folder/continue
curl -X POST https://api.dropboxapi.com/2/files/list_folder/continue \
--header "Authorization: Basic " \
--header "Content-Type: application/json" \
--data "{\"cursor\":\"ZtkX9_EHj3x7PMkVuFIhwKYXEpwpLwyxp9vMKomUhllil9q7eWiAu\"}"
{ "cursor": "ZtkX9_EHj3x7PMkVuFIhwKYXEpwpLwyxp9vMKomUhllil9q7eWiAu" }
cursor
String(min_length=1)The cursor returned by your last call to list_folder or list_folder/continue.{ "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": "Prime_Numbers.txt", "path_display": "/Homework/math/Prime_Numbers.txt", "path_lower": "/homework/math/prime_numbers.txt", "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": false }
entries
List of ()The files and (direct) subfolders in the folder.cursor
String(min_length=1)Pass the cursor into list_folder/continue to see what's changed in the folder since your previous query.has_more
BooleanIf true, then there are more entries available. Pass the cursor to list_folder/continue to retrieve the rest.{ "error": { ".tag": "reset" }, "error_summary": "reset/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
path
reset
VoidIndicates that the cursor has been invalidated. Call list_folder to obtain a new cursor.A way to quickly get a cursor for the folder's state. Unlike list_folder, 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.
https://api.dropboxapi.com/2/files/list_folder/get_latest_cursor
curl -X POST https://api.dropboxapi.com/2/files/list_folder/get_latest_cursor \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"include_deleted\":false,\"include_has_explicit_shared_members\":false,\"include_media_info\":false,\"include_mounted_folders\":true,\"include_non_downloadable_files\":true,\"path\":\"/Homework/math\",\"recursive\":false}"
{ "include_deleted": false, "include_has_explicit_shared_members": false, "include_media_info": false, "include_mounted_folders": true, "include_non_downloadable_files": true, "path": "/Homework/math", "recursive": false }
path
String(pattern="(/(.|[\r\n])*)?|id:.*|(ns:[0-9]+(/.*)?)")A unique identifier for the file.recursive
BooleanIf true, the list folder operation will be applied recursively to all subfolders and the response will contain contents of all subfolders. In some cases, setting ListFolderArg.recursive to true may lead to performance issues or errors, especially when traversing folder structures with a large number of items. A workaround for such cases is to set ListFolderArg.recursive to false and traverse subfolders one at a time. The default for this field is False.include_media_info
deprecatedBooleanField is deprecated. If true, FileMetadata.media_info is set for photo and video. This parameter will no longer have an effect starting December 2, 2019. The default for this field is False.include_deleted
BooleanIf true, the results will include entries for files and folders that used to exist but were deleted. The default for this field is False.include_has_explicit_shared_members
BooleanIf true, the results will include a flag for each file indicating whether or not that file has any explicit members. The default for this field is False.include_mounted_folders
BooleanIf true, the results will include entries under mounted folders which includes app folder, shared folder and team folder. The default for this field is True.limit
UInt32(min=1, max=2000)?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. This field is optional.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, ListFolderArg.path will be relative to root of the shared link. Only non-recursive mode is supported for shared link. This field is optional.include_property_groups
?If set to a valid list of template IDs, FileMetadata.property_groups is set if there exists property data associated with the file and each of the listed templates. This field is optional.include_non_downloadable_files
BooleanIf true, include files that are not downloadable, i.e. Google Docs. The default for this field is True.{ "cursor": "ZtkX9_EHj3x7PMkVuFIhwKYXEpwpLwyxp9vMKomUhllil9q7eWiAu" }
cursor
String(min_length=1)Pass the cursor into list_folder/continue to see what's changed in the folder since your previous query.path
template_error
A longpoll endpoint to wait for changes on an account. In conjunction with 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 webhooks documentation.
https://notify.dropboxapi.com/2/files/list_folder/longpoll
curl -X POST https://notify.dropboxapi.com/2/files/list_folder/longpoll \ --header "Content-Type: application/json" \ --data "{\"cursor\":\"ZtkX9_EHj3x7PMkVuFIhwKYXEpwpLwyxp9vMKomUhllil9q7eWiAu\",\"timeout\":30}"
{ "cursor": "ZtkX9_EHj3x7PMkVuFIhwKYXEpwpLwyxp9vMKomUhllil9q7eWiAu", "timeout": 30 }
cursor
String(min_length=1)A cursor as returned by list_folder or list_folder/continue. Cursors retrieved by setting ListFolderArg.include_media_info to true are not supported.timeout
UInt64(min=30, max=480)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. The default for this field is 30.{ "changes": true }
changes
BooleanIndicates whether new changes are available. If true, call list_folder/continue to retrieve the changes.backoff
UInt64?If present, backoff for at least this many seconds before calling list_folder/longpoll again. This field is optional.{ "error": { ".tag": "reset" }, "error_summary": "reset/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
reset
VoidIndicates that the cursor has been invalidated. Call list_folder to obtain a new cursor.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 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 ListRevisionsMode.id. The ListRevisionsMode.id mode is useful to retrieve revisions for a given file across moves or renames.
https://api.dropboxapi.com/2/files/list_revisions
curl -X POST https://api.dropboxapi.com/2/files/list_revisions \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"limit\":10,\"mode\":\"path\",\"path\":\"/root/word.docx\"}"
{ "limit": 10, "mode": "path", "path": "/root/word.docx" }
path
String(pattern="/(.|[\r\n])*|id:.*|(ns:[0-9]+(/.*)?)")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. The default for this union is path.limit
UInt64(min=1, max=100)The maximum number of revision entries returned. The default for this field is 10.before_rev
String(min_length=9, pattern="[0-9a-f]+")?If set, ListRevisions will only return revisions prior to before_rev. Can be set using the last revision from a previous call to list_revisions to fetch the next page of revisions. Only supported in path mode. This field is optional.{ "entries": [ { "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": "Prime_Numbers.txt", "path_display": "/Homework/math/Prime_Numbers.txt", "path_lower": "/homework/math/prime_numbers.txt", "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 } ], "is_deleted": false }
is_deleted
BooleanIf the file identified by the latest revision in the response is either deleted or moved. If before_rev is set, this refers to the latest revision of the file older than before_rev.entries
List of ()The revisions for the file. Only revisions that are not deleted will show up here.server_deleted
Timestamp(format="%Y-%m-%dT%H:%M:%SZ")?The time of deletion if the file was deleted. This field is optional.{ "error": { ".tag": "invalid_before_rev" }, "error_summary": "invalid_before_rev/..." }
{ "error": { ".tag": "before_rev_not_supported" }, "error_summary": "before_rev_not_supported/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
path
invalid_before_rev
VoidThe revision in before_rev is invalid.before_rev_not_supported
VoidThe before_rev argument is only supported in path mode.Lock the files at the given paths. A locked file will be writable only by the lock holder. A successful response indicates that the file has been locked. Returns a list of the locked file paths and their metadata after this operation.
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/files/lock_file_batch
curl -X POST https://api.dropboxapi.com/2/files/lock_file_batch \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"entries\":[{\"path\":\"/John Doe/sample/test.pdf\"}]}"
{ "entries": [ { "path": "/John Doe/sample/test.pdf" } ] }
entries
List of ()List of 'entries'. Each 'entry' contains a path of the file which will be locked or queried. Duplicate path arguments in the batch are considered only once.{ "entries": [ { ".tag": "success", "lock": { "content": { ".tag": "single_user", "created": "2015-05-12T15:50:38Z", "lock_holder_account_id": "dbid:AAH4f99T0taONIb-OurWxbNQ6ywGRopQngc", "lock_holder_team_id": "dbtid:1234abcd" } }, "metadata": { ".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": "Prime_Numbers.txt", "path_display": "/Homework/math/Prime_Numbers.txt", "path_lower": "/homework/math/prime_numbers.txt", "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 } } ] }
entries
List of ()Each Entry in the 'entries' will have '.tag' with the operation status (e.g. success), the metadata for the file and the lock state after the operation.{ "error": { ".tag": "too_many_write_operations" }, "error_summary": "too_many_write_operations/..." }
{ "error": { ".tag": "too_many_files" }, "error_summary": "too_many_files/..." }
{ "error": { ".tag": "no_write_permission" }, "error_summary": "no_write_permission/..." }
{ "error": { ".tag": "cannot_be_locked" }, "error_summary": "cannot_be_locked/..." }
{ "error": { ".tag": "file_not_shared" }, "error_summary": "file_not_shared/..." }
{ "error": { ".tag": "internal_error" }, "error_summary": "internal_error/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
path_lookup
Could not find the specified resource.too_many_write_operations
VoidThere are too many write operations in user's Dropbox. Please retry this request.too_many_files
VoidThere are too many files in one request. Please retry with fewer files.no_write_permission
VoidThe user does not have permissions to change the lock state or access the file.cannot_be_locked
VoidItem is a type that cannot be locked.file_not_shared
VoidRequested file is not currently shared.lock_conflict
The user action conflicts with an existing lock on the file.internal_error
VoidSomething 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.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. Note that we do not currently support case-only renaming.
https://api.dropboxapi.com/2/files/move_v2
curl -X POST https://api.dropboxapi.com/2/files/move_v2 \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"allow_ownership_transfer\":false,\"allow_shared_folder\":false,\"autorename\":false,\"from_path\":\"/Homework/math\",\"to_path\":\"/Homework/algebra\"}"
{ "allow_ownership_transfer": false, "allow_shared_folder": false, "autorename": false, "from_path": "/Homework/math", "to_path": "/Homework/algebra" }
from_path
String(pattern="(/(.|[\r\n])*)|(ns:[0-9]+(/.*)?)|(id:.*)")Path in the user's Dropbox to be copied or moved.to_path
String(pattern="(/(.|[\r\n])*)|(ns:[0-9]+(/.*)?)|(id:.*)")Path in the user's Dropbox that is the destination.allow_shared_folder
deprecatedBooleanField is deprecated. This flag has no effect. The default for this field is False.autorename
BooleanIf there's a conflict, have the Dropbox server try to autorename the file to avoid the conflict. The default for this field is False.allow_ownership_transfer
BooleanAllow moves by owner even if it would result in an ownership transfer for the content being moved. This does not apply to copies. The default for this field is False.{ "metadata": { ".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": "Prime_Numbers.txt", "path_display": "/Homework/math/Prime_Numbers.txt", "path_lower": "/homework/math/prime_numbers.txt", "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 } }
metadata
Metadata of the relocated object.{ "error": { ".tag": "cant_copy_shared_folder" }, "error_summary": "cant_copy_shared_folder/..." }
{ "error": { ".tag": "cant_nest_shared_folder" }, "error_summary": "cant_nest_shared_folder/..." }
{ "error": { ".tag": "cant_move_folder_into_itself" }, "error_summary": "cant_move_folder_into_itself/..." }
{ "error": { ".tag": "too_many_files" }, "error_summary": "too_many_files/..." }
{ "error": { ".tag": "duplicated_or_nested_paths" }, "error_summary": "duplicated_or_nested_paths/..." }
{ "error": { ".tag": "cant_transfer_ownership" }, "error_summary": "cant_transfer_ownership/..." }
{ "error": { ".tag": "insufficient_quota" }, "error_summary": "insufficient_quota/..." }
{ "error": { ".tag": "internal_error" }, "error_summary": "internal_error/..." }
{ "error": { ".tag": "cant_move_shared_folder" }, "error_summary": "cant_move_shared_folder/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
from_lookup
from_write
to
cant_copy_shared_folder
VoidShared folders can't be copied.cant_nest_shared_folder
VoidYour move operation would result in nested shared folders. This is not allowed.cant_move_folder_into_itself
VoidYou cannot move a folder into itself.too_many_files
VoidThe operation would involve more than 10,000 files and folders.duplicated_or_nested_paths
VoidThere are duplicated/nested paths among RelocationArg.from_path and RelocationArg.to_path.cant_transfer_ownership
VoidYour move operation would result in an ownership transfer. You may reissue the request with the field RelocationArg.allow_ownership_transfer to true.insufficient_quota
VoidThe current user does not have enough space to move or copy the files.internal_error
VoidSomething 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.cant_move_shared_folder
VoidCan't move the shared folder to the given destination.cant_move_into_vault
Some content cannot be moved into Vault under certain circumstances, see detailed error.cant_move_into_family
Some content cannot be moved into the Family Room folder under certain circumstances, see detailed error.Move multiple files or folders to different locations at once in the user's Dropbox. Note that we do not currently support case-only renaming. This route will replace move_batch:1. The main difference is this route will return status for each entry, while move_batch:1 raises failure if any entry fails. This route will either finish synchronously, or return a job ID and do the async move job in background. Please use move_batch/check:2 to check the job status.
https://api.dropboxapi.com/2/files/move_batch_v2
curl -X POST https://api.dropboxapi.com/2/files/move_batch_v2 \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"allow_ownership_transfer\":false,\"autorename\":false,\"entries\":[{\"from_path\":\"/Homework/math\",\"to_path\":\"/Homework/algebra\"}]}"
{ "allow_ownership_transfer": false, "autorename": false, "entries": [ { "from_path": "/Homework/math", "to_path": "/Homework/algebra" } ] }
entries
List of (, min_items=1, max_items=1000)List of entries to be moved or copied. Each entry is RelocationPath.autorename
BooleanIf there's a conflict with any file, have the Dropbox server try to autorename that file to avoid the conflict. The default for this field is False.allow_ownership_transfer
BooleanAllow moves by owner even if it would result in an ownership transfer for the content being moved. This does not apply to copies. The default for this field is False.{ ".tag": "complete", "entries": [ { ".tag": "success", "success": { ".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": "Prime_Numbers.txt", "path_display": "/Homework/math/Prime_Numbers.txt", "path_lower": "/homework/math/prime_numbers.txt", "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": "async_job_id", "async_job_id": "34g93hh34h04y384084" }
async_job_id
String(min_length=1)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
Returns the status of an asynchronous job for move_batch:2. It returns list of results for each entry.
https://api.dropboxapi.com/2/files/move_batch/check_v2
curl -X POST https://api.dropboxapi.com/2/files/move_batch/check_v2 \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"async_job_id\":\"34g93hh34h04y384084\"}"
{ "async_job_id": "34g93hh34h04y384084" }
async_job_id
String(min_length=1)Id of the asynchronous job. This is the value of a response returned from the method that launched the job.{ ".tag": "complete", "entries": [ { ".tag": "success", "success": { ".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": "Prime_Numbers.txt", "path_display": "/Homework/math/Prime_Numbers.txt", "path_lower": "/homework/math/prime_numbers.txt", "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": "in_progress" }
in_progress
VoidThe asynchronous job is still in progress.complete
The copy or move batch job has finished.{ "error": { ".tag": "invalid_async_job_id" }, "error_summary": "invalid_async_job_id/..." }
{ "error": { ".tag": "internal_error" }, "error_summary": "internal_error/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
invalid_async_job_id
VoidThe job ID is invalid.internal_error
VoidSomething 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.Creates a new Paper doc with the provided content.
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/files/paper/create
curl -X POST https://api.dropboxapi.com/2/files/paper/create \
--header "Authorization: Bearer " \
--header "Dropbox-API-Arg: {\"import_format\":\"html\",\"path\":\"/Paper Docs/New Doc.paper\"}" \
--header "Content-Type: application/octet-stream" \
--data-binary @local_file.txt
{ "import_format": "html", "path": "/Paper Docs/New Doc.paper" }
path
String(pattern="/(.|[\r\n])*")The fully qualified path to the location in the user's Dropbox where the Paper Doc should be created. This should include the document's title and end with .paper.import_format
The format of the provided data.{ "file_id": "id:a4ayc_80_OEAAAAAAAAAXw", "paper_revision": 1, "result_path": "/Paper Docs/New Doc.paper", "url": "https://www.dropbox.com/scl/xxx.paper?dl=0" }
url
StringURL to open the Paper Doc.result_path
StringThe fully qualified path the Paper Doc was actually created at.file_id
String(min_length=4, pattern="id:.+")The id to use in Dropbox APIs when referencing the Paper Doc.paper_revision
Int64The current doc revision.{ "error": { ".tag": "insufficient_permissions" }, "error_summary": "insufficient_permissions/..." }
{ "error": { ".tag": "content_malformed" }, "error_summary": "content_malformed/..." }
{ "error": { ".tag": "doc_length_exceeded" }, "error_summary": "doc_length_exceeded/..." }
{ "error": { ".tag": "image_size_exceeded" }, "error_summary": "image_size_exceeded/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
{ "error": { ".tag": "invalid_path" }, "error_summary": "invalid_path/..." }
{ "error": { ".tag": "email_unverified" }, "error_summary": "email_unverified/..." }
{ "error": { ".tag": "invalid_file_extension" }, "error_summary": "invalid_file_extension/..." }
{ "error": { ".tag": "paper_disabled" }, "error_summary": "paper_disabled/..." }
insufficient_permissions
VoidYour account does not have permissions to edit Paper docs.content_malformed
VoidThe provided content was malformed and cannot be imported to Paper.doc_length_exceeded
VoidThe Paper doc would be too large, split the content into multiple docs.image_size_exceeded
VoidThe imported document contains an image that is too large. The current limit is 1MB. This only applies to HTML with data URI.invalid_path
VoidThe file could not be saved to the specified location.email_unverified
VoidThe user's email must be verified to create Paper docs.invalid_file_extension
VoidThe file path must end in .paper.paper_disabled
VoidPaper is disabled for your team.Updates an existing Paper doc with the provided content.
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/files/paper/update
curl -X POST https://api.dropboxapi.com/2/files/paper/update \
--header "Authorization: Bearer " \
--header "Dropbox-API-Arg: {\"doc_update_policy\":\"update\",\"import_format\":\"html\",\"paper_revision\":123,\"path\":\"/Paper Docs/My Doc.paper\"}" \
--header "Content-Type: application/octet-stream" \
--data-binary @local_file.txt
{ "doc_update_policy": "update", "import_format": "html", "paper_revision": 123, "path": "/Paper Docs/My Doc.paper" }
path
String(pattern="(/(.|[\r\n])*)|(ns:[0-9]+(/.*)?)|(id:.*)")Path in the user's Dropbox to update. The path must correspond to a Paper doc or an error will be returned.import_format
The format of the provided data.doc_update_policy
How the provided content should be applied to the doc.paper_revision
Int64?The latest doc revision. Required when doc_update_policy is update. This value must match the current revision of the doc or error revision_mismatch will be returned. This field is optional.{ "paper_revision": 124 }
paper_revision
Int64The current doc revision.{ "error": { ".tag": "insufficient_permissions" }, "error_summary": "insufficient_permissions/..." }
{ "error": { ".tag": "content_malformed" }, "error_summary": "content_malformed/..." }
{ "error": { ".tag": "doc_length_exceeded" }, "error_summary": "doc_length_exceeded/..." }
{ "error": { ".tag": "image_size_exceeded" }, "error_summary": "image_size_exceeded/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
{ "error": { ".tag": "revision_mismatch" }, "error_summary": "revision_mismatch/..." }
{ "error": { ".tag": "doc_archived" }, "error_summary": "doc_archived/..." }
{ "error": { ".tag": "doc_deleted" }, "error_summary": "doc_deleted/..." }
insufficient_permissions
VoidYour account does not have permissions to edit Paper docs.content_malformed
VoidThe provided content was malformed and cannot be imported to Paper.doc_length_exceeded
VoidThe Paper doc would be too large, split the content into multiple docs.image_size_exceeded
VoidThe imported document contains an image that is too large. The current limit is 1MB. This only applies to HTML with data URI.path
revision_mismatch
VoidThe provided revision does not match the document head.doc_archived
VoidThis operation is not allowed on archived Paper docs.doc_deleted
VoidThis operation is not allowed on deleted Paper docs.Permanently delete the file or folder at a given path (see https://www.dropbox.com/en/help/40). If the given file or folder is not yet deleted, this route will first delete it. It is possible for this route to successfully delete, then fail to permanently delete. Note: This endpoint is only available for Dropbox Business apps.
https://api.dropboxapi.com/2/files/permanently_delete
curl -X POST https://api.dropboxapi.com/2/files/permanently_delete \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"path\":\"/Homework/math/Prime_Numbers.txt\"}"
{ "path": "/Homework/math/Prime_Numbers.txt" }
path
String(pattern="(/(.|[\r\n])*)|(ns:[0-9]+(/.*)?)|(id:.*)")Path in the user's Dropbox to delete.parent_rev
String(min_length=9, pattern="[0-9a-f]+")?Perform delete if given "rev" matches the existing file's latest "rev". This field does not support deleting a folder. This field is optional.{ "error": { ".tag": "too_many_write_operations" }, "error_summary": "too_many_write_operations/..." }
{ "error": { ".tag": "too_many_files" }, "error_summary": "too_many_files/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
path_lookup
path_write
too_many_write_operations
VoidThere are too many write operations in user's Dropbox. Please retry this request.too_many_files
VoidThere are too many files in one request. Please retry with fewer files.Restore a specific revision of a file to the given path.
https://api.dropboxapi.com/2/files/restore
curl -X POST https://api.dropboxapi.com/2/files/restore \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"path\":\"/root/word.docx\",\"rev\":\"a1c10ce0dd78\"}"
{ "path": "/root/word.docx", "rev": "a1c10ce0dd78" }
path
String(pattern="(/(.|[\r\n])*)|(ns:[0-9]+(/.*)?)")The path to save the restored file.rev
String(min_length=9, pattern="[0-9a-f]+")The revision to restore.{ "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": "Prime_Numbers.txt", "path_display": "/Homework/math/Prime_Numbers.txt", "path_lower": "/homework/math/prime_numbers.txt", "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 }
{ "client_modified": "2015-05-12T15:50:38Z", "content_hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "has_explicit_shared_members": false, "id": "id:a4ayc_80_OEAAAAAAAAAXw", "is_downloadable": true, "name": "Prime_Numbers.txt", "path_display": "/Homework/math/Prime_Numbers.txt", "path_lower": "/homework/math/prime_numbers.txt", "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 }
name
StringThe last component of the path (including extension). This never contains a slash.id
String(min_length=1)A unique identifier for the file.client_modified
Timestamp(format="%Y-%m-%dT%H:%M:%SZ")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
Timestamp(format="%Y-%m-%dT%H:%M:%SZ")The last time the file was modified on Dropbox.rev
String(min_length=9, pattern="[0-9a-f]+")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
UInt64The file size in bytes.path_lower
String?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. This field is optional.path_display
String?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 list_folder/continue. This field will be null if the file or folder is not mounted. This field is optional.parent_shared_folder_id
deprecated String(pattern="[-_0-9a-zA-Z:]+")?Field is deprecated. Please use FileSharingInfo.parent_shared_folder_id or FolderSharingInfo.parent_shared_folder_id instead. This field is optional.preview_url
String?The preview URL of the file. This field is optional.media_info
?Additional information if the file is a photo or video. This field will not be set on entries returned by list_folder, list_folder/continue, or get_thumbnail_batch, starting December 2, 2019. This field is optional.symlink_info
?Set if this file is a symlink. This field is optional.sharing_info
?Set if this file is contained in a shared folder. This field is optional.is_downloadable
BooleanIf true, file can be downloaded directly; else the file must be exported. The default for this field is True.export_info
?Information about format this file can be exported to. This filed must be set if is_downloadable is set to false. This field is optional.property_groups
List of ()?Additional information if the file has custom properties with the property template specified. This field is optional.has_explicit_shared_members
Boolean?This flag will only be present if include_has_explicit_shared_members is true in list_folder or 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. This field is optional.content_hash
String(min_length=64, max_length=64)?A hash of the file content. This field can be used to verify data integrity. For more information see our Content hash page. This field is optional.file_lock_info
?If present, the metadata associated with the file's current lock. This field is optional.{ "error": { ".tag": "invalid_revision" }, "error_summary": "invalid_revision/..." }
{ "error": { ".tag": "in_progress" }, "error_summary": "in_progress/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
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
VoidThe revision is invalid. It may not exist or may point to a deleted file.in_progress
VoidThe restore is currently executing, but has not yet completed.Save the data from a specified URL into a file in user's Dropbox. Note that the transfer from the URL must complete within 15 minutes, or the operation will time out and the job will fail. If the given path already exists, the file will be renamed to avoid the conflict (e.g. myfile (1).txt).
https://api.dropboxapi.com/2/files/save_url
curl -X POST https://api.dropboxapi.com/2/files/save_url \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"path\":\"/a.txt\",\"url\":\"http://example.com/a.txt\"}"
{ "path": "/a.txt", "url": "http://example.com/a.txt" }
path
String(pattern="/(.|[\r\n])*")The path in Dropbox where the URL will be saved to.url
StringThe URL to be saved.{ ".tag": "complete", "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": "Prime_Numbers.txt", "path_display": "/Homework/math/Prime_Numbers.txt", "path_lower": "/homework/math/prime_numbers.txt", "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 }
async_job_id
String(min_length=1)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.{ "error": { ".tag": "download_failed" }, "error_summary": "download_failed/..." }
{ "error": { ".tag": "invalid_url" }, "error_summary": "invalid_url/..." }
{ "error": { ".tag": "not_found" }, "error_summary": "not_found/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
path
download_failed
VoidFailed downloading the given URL. The URL may be password-protected and the password provided was incorrect, or the link may be disabled.invalid_url
VoidThe given URL is invalid.not_found
VoidThe file where the URL is saved to no longer exists.Check the status of a save_url job.
https://api.dropboxapi.com/2/files/save_url/check_job_status
curl -X POST https://api.dropboxapi.com/2/files/save_url/check_job_status \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"async_job_id\":\"34g93hh34h04y384084\"}"
{ "async_job_id": "34g93hh34h04y384084" }
async_job_id
String(min_length=1)Id of the asynchronous job. This is the value of a response returned from the method that launched the job.{ ".tag": "in_progress" }
in_progress
VoidThe asynchronous job is still in progress.complete
Metadata of the file where the URL is saved to.failed
{ "error": { ".tag": "invalid_async_job_id" }, "error_summary": "invalid_async_job_id/..." }
{ "error": { ".tag": "internal_error" }, "error_summary": "internal_error/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
invalid_async_job_id
VoidThe job ID is invalid.internal_error
VoidSomething 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.Searches for files and folders. Note: search:2 along with search/continue:2 can only be used to retrieve a maximum of 10,000 matches. Recent changes may not immediately be reflected in search results due to a short delay in indexing. Duplicate results may be returned across pages. Some results may not be returned.
https://api.dropboxapi.com/2/files/search_v2
curl -X POST https://api.dropboxapi.com/2/files/search_v2 \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"match_field_options\":{\"include_highlights\":false},\"options\":{\"file_status\":\"active\",\"filename_only\":false,\"max_results\":20,\"path\":\"/Folder\"},\"query\":\"cat\"}"
{ "match_field_options": { "include_highlights": false }, "options": { "file_status": "active", "filename_only": false, "max_results": 20, "path": "/Folder" }, "query": "cat" }
query
String(max_length=1000)The string to search for. May match across multiple fields based on the request arguments.options
?Options for more targeted search results. This field is optional.match_field_options
?Options for search results match fields. This field is optional.include_highlights
deprecated Boolean?Field is deprecated. Deprecated and moved this option to SearchMatchFieldOptions. This field is optional.{ "has_more": false, "matches": [ { "metadata": { ".tag": "metadata", "metadata": { ".tag": "file", "client_modified": "2015-05-12T15:50:38Z", "content_hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "has_explicit_shared_members": false, "id": "id:a4ayc_80_OEAAAAAAAAAXw", "is_downloadable": true, "name": "Prime_Numbers.txt", "path_display": "/Homework/math/Prime_Numbers.txt", "path_lower": "/homework/math/prime_numbers.txt", "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 } } } ] }
matches
List of ()A list (possibly empty) of matches for the query.has_more
BooleanUsed for paging. If true, indicates there is another page of results available that can be fetched by calling search/continue:2 with the cursor.cursor
String(min_length=1)?Pass the cursor into search/continue:2 to fetch the next page of results. This field is optional.{ "error": { ".tag": "internal_error" }, "error_summary": "internal_error/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
path
invalid_argument
String? This field is optional.internal_error
VoidSomething went wrong, please try again.Fetches the next page of search results returned from search:2. Note: search:2 along with search/continue:2 can only be used to retrieve a maximum of 10,000 matches. Recent changes may not immediately be reflected in search results due to a short delay in indexing. Duplicate results may be returned across pages. Some results may not be returned.
https://api.dropboxapi.com/2/files/search/continue_v2
curl -X POST https://api.dropboxapi.com/2/files/search/continue_v2 \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"cursor\":\"ZtkX9_EHj3x7PMkVuFIhwKYXEpwpLwyxp9vMKomUhllil9q7eWiAu\"}"
{ "cursor": "ZtkX9_EHj3x7PMkVuFIhwKYXEpwpLwyxp9vMKomUhllil9q7eWiAu" }
cursor
String(min_length=1)The cursor returned by your last call to search:2. Used to fetch the next page of results.{ "has_more": false, "matches": [ { "metadata": { ".tag": "metadata", "metadata": { ".tag": "file", "client_modified": "2015-05-12T15:50:38Z", "content_hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "has_explicit_shared_members": false, "id": "id:a4ayc_80_OEAAAAAAAAAXw", "is_downloadable": true, "name": "Prime_Numbers.txt", "path_display": "/Homework/math/Prime_Numbers.txt", "path_lower": "/homework/math/prime_numbers.txt", "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 } } } ] }
matches
List of ()A list (possibly empty) of matches for the query.has_more
BooleanUsed for paging. If true, indicates there is another page of results available that can be fetched by calling search/continue:2 with the cursor.cursor
String(min_length=1)?Pass the cursor into search/continue:2 to fetch the next page of results. This field is optional.{ "error": { ".tag": "internal_error" }, "error_summary": "internal_error/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
path
invalid_argument
String? This field is optional.internal_error
VoidSomething went wrong, please try again.Add a tag to an item. A tag is a string. The strings are automatically converted to lowercase letters. No more than 20 tags can be added to a given item.
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/files/tags/add
curl -X POST https://api.dropboxapi.com/2/files/tags/add \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"path\":\"/Prime_Numbers.txt\",\"tag_text\":\"my_tag\"}"
{ "path": "/Prime_Numbers.txt", "tag_text": "my_tag" }
path
String(pattern="/(.|[\r\n])*")Path to the item to be tagged.tag_text
String(min_length=1, max_length=32, pattern="[\w]+")The value of the tag to add. Will be automatically converted to lowercase letters.{ "error": { ".tag": "other" }, "error_summary": "other/..." }
{ "error": { ".tag": "too_many_tags" }, "error_summary": "too_many_tags/..." }
path
too_many_tags
VoidThe item already has the maximum supported number of tags.Get list of tags assigned to items.
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/files/tags/get
curl -X POST https://api.dropboxapi.com/2/files/tags/get \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"paths\":[\"/Prime_Numbers.txt\"]}"
{ "paths": [ "/Prime_Numbers.txt" ] }
paths
List of (String(pattern="/(.|[\r\n])*"))Path to the items.{ "paths_to_tags": [ { "path": "/Prime_Numbers.txt", "tags": [ { ".tag": "user_generated_tag", "tag_text": "my_tag" } ] } ] }
paths_to_tags
List of ()List of paths and their corresponding tags.path
Remove a tag from an item.
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/files/tags/remove
curl -X POST https://api.dropboxapi.com/2/files/tags/remove \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"path\":\"/Prime_Numbers.txt\",\"tag_text\":\"my_tag\"}"
{ "path": "/Prime_Numbers.txt", "tag_text": "my_tag" }
path
String(pattern="/(.|[\r\n])*")Path to the item to tag.tag_text
String(min_length=1, max_length=32, pattern="[\w]+")The tag to remove. Will be automatically converted to lowercase letters.{ "error": { ".tag": "other" }, "error_summary": "other/..." }
{ "error": { ".tag": "tag_not_present" }, "error_summary": "tag_not_present/..." }
path
tag_not_present
VoidThat tag doesn't exist at this path.Unlock the files at the given paths. A locked file can only be unlocked by the lock holder or, if a business account, a team admin. A successful response indicates that the file has been unlocked. Returns a list of the unlocked file paths and their metadata after this operation.
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/files/unlock_file_batch
curl -X POST https://api.dropboxapi.com/2/files/unlock_file_batch \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"entries\":[{\"path\":\"/John Doe/sample/test.pdf\"}]}"
{ "entries": [ { "path": "/John Doe/sample/test.pdf" } ] }
entries
List of ()List of 'entries'. Each 'entry' contains a path of the file which will be unlocked. Duplicate path arguments in the batch are considered only once.{ "entries": [ { ".tag": "success", "lock": { "content": { ".tag": "single_user", "created": "2015-05-12T15:50:38Z", "lock_holder_account_id": "dbid:AAH4f99T0taONIb-OurWxbNQ6ywGRopQngc", "lock_holder_team_id": "dbtid:1234abcd" } }, "metadata": { ".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": "Prime_Numbers.txt", "path_display": "/Homework/math/Prime_Numbers.txt", "path_lower": "/homework/math/prime_numbers.txt", "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 } } ] }
entries
List of ()Each Entry in the 'entries' will have '.tag' with the operation status (e.g. success), the metadata for the file and the lock state after the operation.{ "error": { ".tag": "too_many_write_operations" }, "error_summary": "too_many_write_operations/..." }
{ "error": { ".tag": "too_many_files" }, "error_summary": "too_many_files/..." }
{ "error": { ".tag": "no_write_permission" }, "error_summary": "no_write_permission/..." }
{ "error": { ".tag": "cannot_be_locked" }, "error_summary": "cannot_be_locked/..." }
{ "error": { ".tag": "file_not_shared" }, "error_summary": "file_not_shared/..." }
{ "error": { ".tag": "internal_error" }, "error_summary": "internal_error/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
path_lookup
Could not find the specified resource.too_many_write_operations
VoidThere are too many write operations in user's Dropbox. Please retry this request.too_many_files
VoidThere are too many files in one request. Please retry with fewer files.no_write_permission
VoidThe user does not have permissions to change the lock state or access the file.cannot_be_locked
VoidItem is a type that cannot be locked.file_not_shared
VoidRequested file is not currently shared.lock_conflict
The user action conflicts with an existing lock on the file.internal_error
VoidSomething 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.Create a new file with the contents provided in the request. Do not use this to upload a file larger than 150 MiB. Instead, create an upload session with upload_session/start. Calls to this endpoint will count as data transport calls for any Dropbox Business teams with a limit on the number of data transport calls allowed per month. For more information, see the Data transport limit page.
https://content.dropboxapi.com/2/files/upload
curl -X POST https://content.dropboxapi.com/2/files/upload \
--header "Authorization: Bearer " \
--header "Dropbox-API-Arg: {\"autorename\":false,\"mode\":\"add\",\"mute\":false,\"path\":\"/Homework/math/Matrices.txt\",\"strict_conflict\":false}" \
--header "Content-Type: application/octet-stream" \
--data-binary @local_file.txt
{ "autorename": false, "mode": "add", "mute": false, "path": "/Homework/math/Matrices.txt", "strict_conflict": false }
path
String(pattern="(/(.|[\r\n])*)|(ns:[0-9]+(/.*)?)|(id:.*)")Path in the user's Dropbox to save the file.mode
Selects what to do if the file already exists. The default for this union is add.autorename
BooleanIf there's a conflict, as determined by mode, have the Dropbox server try to autorename the file to avoid conflict. The default for this field is False.client_modified
Timestamp(format="%Y-%m-%dT%H:%M:%SZ")?The value to store as the 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. This field is optional.mute
BooleanNormally, users are made aware of any file modifications in their Dropbox account via notifications in the client software. If true, this tells the clients that this modification shouldn't result in a user notification. The default for this field is False.property_groups
List of ()?List of custom properties to add to file. This field is optional.strict_conflict
BooleanBe more strict about how each WriteMode detects conflict. For example, always return a conflict error when mode = WriteMode.update and the given "rev" doesn't match the existing file's "rev", even if the existing file has been deleted. This also forces a conflict even when the target path refers to a file with identical contents. The default for this field is False.content_hash
String(min_length=64, max_length=64)?A hash of the file content uploaded in this call. If provided and the uploaded content does not match this hash, an error will be returned. For more information see our Content hash page. This field is optional.{ "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": "Prime_Numbers.txt", "path_display": "/Homework/math/Prime_Numbers.txt", "path_lower": "/homework/math/prime_numbers.txt", "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 }
{ "client_modified": "2015-05-12T15:50:38Z", "content_hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "has_explicit_shared_members": false, "id": "id:a4ayc_80_OEAAAAAAAAAXw", "is_downloadable": true, "name": "Prime_Numbers.txt", "path_display": "/Homework/math/Prime_Numbers.txt", "path_lower": "/homework/math/prime_numbers.txt", "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 }
name
StringThe last component of the path (including extension). This never contains a slash.id
String(min_length=1)A unique identifier for the file.client_modified
Timestamp(format="%Y-%m-%dT%H:%M:%SZ")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
Timestamp(format="%Y-%m-%dT%H:%M:%SZ")The last time the file was modified on Dropbox.rev
String(min_length=9, pattern="[0-9a-f]+")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
UInt64The file size in bytes.path_lower
String?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. This field is optional.path_display
String?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 list_folder/continue. This field will be null if the file or folder is not mounted. This field is optional.parent_shared_folder_id
deprecated String(pattern="[-_0-9a-zA-Z:]+")?Field is deprecated. Please use FileSharingInfo.parent_shared_folder_id or FolderSharingInfo.parent_shared_folder_id instead. This field is optional.preview_url
String?The preview URL of the file. This field is optional.media_info
?Additional information if the file is a photo or video. This field will not be set on entries returned by list_folder, list_folder/continue, or get_thumbnail_batch, starting December 2, 2019. This field is optional.symlink_info
?Set if this file is a symlink. This field is optional.sharing_info
?Set if this file is contained in a shared folder. This field is optional.is_downloadable
BooleanIf true, file can be downloaded directly; else the file must be exported. The default for this field is True.export_info
?Information about format this file can be exported to. This filed must be set if is_downloadable is set to false. This field is optional.property_groups
List of ()?Additional information if the file has custom properties with the property template specified. This field is optional.has_explicit_shared_members
Boolean?This flag will only be present if include_has_explicit_shared_members is true in list_folder or 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. This field is optional.content_hash
String(min_length=64, max_length=64)?A hash of the file content. This field can be used to verify data integrity. For more information see our Content hash page. This field is optional.file_lock_info
?If present, the metadata associated with the file's current lock. This field is optional.{ "error": { ".tag": "payload_too_large" }, "error_summary": "payload_too_large/..." }
{ "error": { ".tag": "content_hash_mismatch" }, "error_summary": "content_hash_mismatch/..." }
{ "error": { ".tag": "encryption_not_supported" }, "error_summary": "encryption_not_supported/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
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.payload_too_large
VoidThe request payload must be at most 150 MiB.content_hash_mismatch
VoidThe content received by the Dropbox server in this call does not match the provided content hash.encryption_not_supported
VoidThe file is required to be encrypted, which is not supported in our public API.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 MiB. The maximum size of a file one can upload to an upload session is 350 GiB. Calls to this endpoint will count as data transport calls for any Dropbox Business teams with a limit on the number of data transport calls allowed per month. For more information, see the Data transport limit page.
https://content.dropboxapi.com/2/files/upload_session/append_v2
curl -X POST https://content.dropboxapi.com/2/files/upload_session/append_v2 \
--header "Authorization: Bearer " \
--header "Dropbox-API-Arg: {\"close\":false,\"cursor\":{\"offset\":0,\"session_id\":\"1234faaf0678bcde\"}}" \
--header "Content-Type: application/octet-stream" \
--data-binary @local_file.txt
{ "close": false, "cursor": { "offset": 0, "session_id": "1234faaf0678bcde" } }
cursor
Contains the upload session ID and the offset.close
BooleanIf true, the current session will be closed, at which point you won't be able to call upload_session/append:2 anymore with the current session. The default for this field is False.content_hash
String(min_length=64, max_length=64)?A hash of the file content uploaded in this call. If provided and the uploaded content does not match this hash, an error will be returned. For more information see our Content hash page. This field is optional.{ "error": { ".tag": "not_found" }, "error_summary": "not_found/..." }
{ "error": { ".tag": "closed" }, "error_summary": "closed/..." }
{ "error": { ".tag": "too_large" }, "error_summary": "too_large/..." }
{ "error": { ".tag": "concurrent_session_invalid_offset" }, "error_summary": "concurrent_session_invalid_offset/..." }
{ "error": { ".tag": "concurrent_session_invalid_data_size" }, "error_summary": "concurrent_session_invalid_data_size/..." }
{ "error": { ".tag": "payload_too_large" }, "error_summary": "payload_too_large/..." }
{ "error": { ".tag": "content_hash_mismatch" }, "error_summary": "content_hash_mismatch/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
not_found
VoidThe upload session ID was not found or has expired. Upload sessions are valid for 7 days.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
VoidYou are attempting to append data to an upload session that has already been closed (i.e. committed).too_large
VoidYou can not append to the upload session because the size of a file should not reach the max file size limit (i.e. 350GiB).concurrent_session_invalid_offset
VoidFor concurrent upload sessions, offset needs to be multiple of 4194304 bytes.concurrent_session_invalid_data_size
VoidFor concurrent upload sessions, only chunks with size multiple of 4194304 bytes can be uploaded.payload_too_large
VoidThe request payload must be at most 150 MiB.content_hash_mismatch
VoidThe content received by the Dropbox server in this call does not match the provided content hash.Append more data to multiple upload sessions. Each piece of file content to append to each upload session should be concatenated in the request body, in the order delineated by UploadSessionAppendBatchArg.entries and their individual lengths indicated by UploadSessionAppendBatchArgEntry.length. A single request should not upload more than 150 MiB. The maximum size of a file one can upload to an upload session is 350 GiB. Calls to this endpoint will count as data transport calls for any Dropbox Business teams with a limit on the number of data transport calls allowed per month. For more information, see the Data transport limit page.
https://content.dropboxapi.com/2/files/upload_session/append_batch
curl -X POST https://content.dropboxapi.com/2/files/upload_session/append_batch \
--header "Authorization: Bearer " \
--header "Dropbox-API-Arg: {\"entries\":[{\"close\":false,\"cursor\":{\"offset\":0,\"session_id\":\"1234faaf0678bcde\"},\"length\":12345}]}" \
--header "Content-Type: application/octet-stream" \
--data-binary @local_file.txt
{ "entries": [ { "close": false, "cursor": { "offset": 0, "session_id": "1234faaf0678bcde" }, "length": 12345 } ] }
{ "entries": [ { "close": false, "cursor": { "offset": 0, "session_id": "1234faaf0678bcde" }, "length": 12345 }, { "close": false, "cursor": { "offset": 1073741824, "session_id": "8dd9d57374911153" }, "length": 67890 } ] }
entries
List of (, max_items=1000)Append information for each file in the batch.content_hash
String(min_length=64, max_length=64)?A hash of the entire request body which is all the concatenated pieces of file content that were uploaded in this call. If provided and the uploaded content does not match this hash, an error will be returned. For more information see our Content hash page. This field is optional.{ "entries": [ { ".tag": "success" } ] }
entries
List of ()Each entry in UploadSessionAppendBatchArg.entries will appear at the same position inside UploadSessionAppendBatchResult.entries.{ "error": { ".tag": "payload_too_large" }, "error_summary": "payload_too_large/..." }
{ "error": { ".tag": "content_hash_mismatch" }, "error_summary": "content_hash_mismatch/..." }
{ "error": { ".tag": "length_mismatch" }, "error_summary": "length_mismatch/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
payload_too_large
VoidThe request payload must be at most 150 MiB.content_hash_mismatch
VoidThe content received by the Dropbox server in this call does not match the provided content hash.length_mismatch
VoidThe total length of the content received by the Dropbox server in this call does not match the total of the provided lengths in the batch arguments.Finish an upload session and save the uploaded data to the given file path. A single request should not upload more than 150 MiB. The maximum size of a file one can upload to an upload session is 350 GiB. Calls to this endpoint will count as data transport calls for any Dropbox Business teams with a limit on the number of data transport calls allowed per month. For more information, see the Data transport limit page.
https://content.dropboxapi.com/2/files/upload_session/finish
curl -X POST https://content.dropboxapi.com/2/files/upload_session/finish \
--header "Authorization: Bearer " \
--header "Dropbox-API-Arg: {\"commit\":{\"autorename\":true,\"mode\":\"add\",\"mute\":false,\"path\":\"/Homework/math/Matrices.txt\",\"strict_conflict\":false},\"cursor\":{\"offset\":0,\"session_id\":\"1234faaf0678bcde\"}}" \
--header "Content-Type: application/octet-stream" \
--data-binary @local_file.txt
{ "commit": { "autorename": true, "mode": "add", "mute": false, "path": "/Homework/math/Matrices.txt", "strict_conflict": false }, "cursor": { "offset": 0, "session_id": "1234faaf0678bcde" } }
{ "commit": { "autorename": true, "mode": "add", "mute": false, "path": "/Homework/math/Vectors.txt", "strict_conflict": false }, "cursor": { "offset": 1073741824, "session_id": "8dd9d57374911153" } }
{ "commit": { "autorename": false, "mode": { ".tag": "update", "update": "a1c10ce0dd78" }, "mute": false, "path": "/Homework/math/Matrices.txt", "property_groups": [ { "fields": [ { "name": "Security Policy", "value": "Confidential" } ], "template_id": "ptid:1a5n2i6d3OYEAAAAAAAAAYa" } ], "strict_conflict": false }, "cursor": { "offset": 0, "session_id": "1234faaf0678bcde" } }
cursor
Contains the upload session ID and the offset.commit
Contains the path and other optional modifiers for the commit.content_hash
String(min_length=64, max_length=64)?A hash of the file content uploaded in this call. If provided and the uploaded content does not match this hash, an error will be returned. For more information see our Content hash page. This field is optional.{ "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": "Prime_Numbers.txt", "path_display": "/Homework/math/Prime_Numbers.txt", "path_lower": "/homework/math/prime_numbers.txt", "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 }
{ "client_modified": "2015-05-12T15:50:38Z", "content_hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "has_explicit_shared_members": false, "id": "id:a4ayc_80_OEAAAAAAAAAXw", "is_downloadable": true, "name": "Prime_Numbers.txt", "path_display": "/Homework/math/Prime_Numbers.txt", "path_lower": "/homework/math/prime_numbers.txt", "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 }
name
StringThe last component of the path (including extension). This never contains a slash.id
String(min_length=1)A unique identifier for the file.client_modified
Timestamp(format="%Y-%m-%dT%H:%M:%SZ")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
Timestamp(format="%Y-%m-%dT%H:%M:%SZ")The last time the file was modified on Dropbox.rev
String(min_length=9, pattern="[0-9a-f]+")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
UInt64The file size in bytes.path_lower
String?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. This field is optional.path_display
String?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 list_folder/continue. This field will be null if the file or folder is not mounted. This field is optional.parent_shared_folder_id
deprecated String(pattern="[-_0-9a-zA-Z:]+")?Field is deprecated. Please use FileSharingInfo.parent_shared_folder_id or FolderSharingInfo.parent_shared_folder_id instead. This field is optional.preview_url
String?The preview URL of the file. This field is optional.media_info
?Additional information if the file is a photo or video. This field will not be set on entries returned by list_folder, list_folder/continue, or get_thumbnail_batch, starting December 2, 2019. This field is optional.symlink_info
?Set if this file is a symlink. This field is optional.sharing_info
?Set if this file is contained in a shared folder. This field is optional.is_downloadable
BooleanIf true, file can be downloaded directly; else the file must be exported. The default for this field is True.export_info
?Information about format this file can be exported to. This filed must be set if is_downloadable is set to false. This field is optional.property_groups
List of ()?Additional information if the file has custom properties with the property template specified. This field is optional.has_explicit_shared_members
Boolean?This flag will only be present if include_has_explicit_shared_members is true in list_folder or 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. This field is optional.content_hash
String(min_length=64, max_length=64)?A hash of the file content. This field can be used to verify data integrity. For more information see our Content hash page. This field is optional.file_lock_info
?If present, the metadata associated with the file's current lock. This field is optional.{ "error": { ".tag": "too_many_shared_folder_targets" }, "error_summary": "too_many_shared_folder_targets/..." }
{ "error": { ".tag": "too_many_write_operations" }, "error_summary": "too_many_write_operations/..." }
{ "error": { ".tag": "concurrent_session_data_not_allowed" }, "error_summary": "concurrent_session_data_not_allowed/..." }
{ "error": { ".tag": "concurrent_session_not_closed" }, "error_summary": "concurrent_session_not_closed/..." }
{ "error": { ".tag": "concurrent_session_missing_data" }, "error_summary": "concurrent_session_missing_data/..." }
{ "error": { ".tag": "payload_too_large" }, "error_summary": "payload_too_large/..." }
{ "error": { ".tag": "content_hash_mismatch" }, "error_summary": "content_hash_mismatch/..." }
{ "error": { ".tag": "encryption_not_supported" }, "error_summary": "encryption_not_supported/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
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
deprecatedVoidField is deprecated. 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
VoidThere are too many write operations happening in the user's Dropbox. You should retry uploading this file.concurrent_session_data_not_allowed
VoidUploading data not allowed when finishing concurrent upload session.concurrent_session_not_closed
VoidConcurrent upload sessions need to be closed before finishing.concurrent_session_missing_data
VoidNot all pieces of data were uploaded before trying to finish the session.payload_too_large
VoidThe request payload must be at most 150 MiB.content_hash_mismatch
VoidThe content received by the Dropbox server in this call does not match the provided content hash.encryption_not_supported
VoidThe file is required to be encrypted, which is not supported in our public API.This route helps you commit many files at once into a user's Dropbox. Use upload_session/start and upload_session/append:2 to upload file contents. We recommend uploading many files in parallel to increase throughput. Once the file contents have been uploaded, rather than calling upload_session/finish, use this route to finish all your upload sessions in a single request. UploadSessionStartArg.close or UploadSessionAppendArg.close needs to be true for the last upload_session/start or upload_session/append:2 call of each upload session. The maximum size of a file one can upload to an upload session is 350 GiB. We allow up to 1000 entries in a single request. Calls to this endpoint will count as data transport calls for any Dropbox Business teams with a limit on the number of data transport calls allowed per month. For more information, see the Data transport limit page.
https://api.dropboxapi.com/2/files/upload_session/finish_batch_v2
curl -X POST https://api.dropboxapi.com/2/files/upload_session/finish_batch_v2 \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"entries\":[{\"commit\":{\"autorename\":true,\"mode\":\"add\",\"mute\":false,\"path\":\"/Homework/math/Matrices.txt\",\"strict_conflict\":false},\"cursor\":{\"offset\":0,\"session_id\":\"1234faaf0678bcde\"}}]}"
{ "entries": [ { "commit": { "autorename": true, "mode": "add", "mute": false, "path": "/Homework/math/Matrices.txt", "strict_conflict": false }, "cursor": { "offset": 0, "session_id": "1234faaf0678bcde" } } ] }
{ "entries": [ { "commit": { "autorename": true, "mode": "add", "mute": false, "path": "/Homework/math/Matrices.txt", "strict_conflict": false }, "cursor": { "offset": 0, "session_id": "1234faaf0678bcde" } }, { "commit": { "autorename": true, "mode": "add", "mute": false, "path": "/Homework/math/Vectors.txt", "strict_conflict": false }, "cursor": { "offset": 1073741824, "session_id": "8dd9d57374911153" } } ] }
entries
List of (, max_items=1000)Commit information for each file in the batch.{ "entries": [ { ".tag": "success", "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": "Prime_Numbers.txt", "path_display": "/Homework/math/Prime_Numbers.txt", "path_lower": "/homework/math/prime_numbers.txt", "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 } ] }
entries
List of ()Each entry in UploadSessionFinishBatchArg.entries will appear at the same position inside UploadSessionFinishBatchResult.entries.Returns the status of an asynchronous job for upload_session/finish_batch. If success, it returns list of result for each entry.
https://api.dropboxapi.com/2/files/upload_session/finish_batch/check
curl -X POST https://api.dropboxapi.com/2/files/upload_session/finish_batch/check \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"async_job_id\":\"34g93hh34h04y384084\"}"
{ "async_job_id": "34g93hh34h04y384084" }
async_job_id
String(min_length=1)Id of the asynchronous job. This is the value of a response returned from the method that launched the job.{ ".tag": "complete", "entries": [ { ".tag": "success", "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": "Prime_Numbers.txt", "path_display": "/Homework/math/Prime_Numbers.txt", "path_lower": "/homework/math/prime_numbers.txt", "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": "in_progress" }
in_progress
VoidThe asynchronous job is still in progress.complete
The upload_session/finish_batch has finished.{ "error": { ".tag": "invalid_async_job_id" }, "error_summary": "invalid_async_job_id/..." }
{ "error": { ".tag": "internal_error" }, "error_summary": "internal_error/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
invalid_async_job_id
VoidThe job ID is invalid.internal_error
VoidSomething 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.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 MiB. This call starts a new upload session with the given data. You can then use upload_session/append:2 to add more data and upload_session/finish to save all the data to a file in Dropbox. A single request should not upload more than 150 MiB. The maximum size of a file one can upload to an upload session is 350 GiB. An upload session can be used for a maximum of 7 days. Attempting to use an UploadSessionStartResult.session_id with upload_session/append:2 or upload_session/finish more than 7 days after its creation will return a UploadSessionLookupError.not_found. Calls to this endpoint will count as data transport calls for any Dropbox Business teams with a limit on the number of data transport calls allowed per month. For more information, see the Data transport limit page. By default, upload sessions require you to send content of the file in sequential order via consecutive upload_session/start, upload_session/append:2, upload_session/finish calls. For better performance, you can instead optionally use a UploadSessionType.concurrent upload session. To start a new concurrent session, set UploadSessionStartArg.session_type to UploadSessionType.concurrent. After that, you can send file data in concurrent upload_session/append:2 requests. Finally finish the session with upload_session/finish. There are couple of constraints with concurrent sessions to make them work. You can not send data with upload_session/start or upload_session/finish call, only with upload_session/append:2 call. Also data uploaded in upload_session/append:2 call must be multiple of 4194304 bytes (except for last upload_session/append:2 with UploadSessionStartArg.close to true, that may contain any remaining data).
https://content.dropboxapi.com/2/files/upload_session/start
curl -X POST https://content.dropboxapi.com/2/files/upload_session/start \
--header "Authorization: Bearer " \
--header "Dropbox-API-Arg: {\"close\":false}" \
--header "Content-Type: application/octet-stream" \
--data-binary @local_file.txt
{ "close": false }
close
BooleanIf true, the current session will be closed, at which point you won't be able to call upload_session/append:2 anymore with the current session. The default for this field is False.session_type
?Type of upload session you want to start. If not specified, default is UploadSessionType.sequential. This field is optional.content_hash
String(min_length=64, max_length=64)?A hash of the file content uploaded in this call. If provided and the uploaded content does not match this hash, an error will be returned. For more information see our Content hash page. This field is optional.{ "session_id": "1234faaf0678bcde" }
session_id
StringA unique identifier for the upload session. Pass this to upload_session/append:2 and upload_session/finish.{ "error": { ".tag": "concurrent_session_data_not_allowed" }, "error_summary": "concurrent_session_data_not_allowed/..." }
{ "error": { ".tag": "concurrent_session_close_not_allowed" }, "error_summary": "concurrent_session_close_not_allowed/..." }
{ "error": { ".tag": "payload_too_large" }, "error_summary": "payload_too_large/..." }
{ "error": { ".tag": "content_hash_mismatch" }, "error_summary": "content_hash_mismatch/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
concurrent_session_data_not_allowed
VoidUploading data not allowed when starting concurrent upload session.concurrent_session_close_not_allowed
VoidCan not start a closed concurrent upload session.payload_too_large
VoidThe request payload must be at most 150 MiB.content_hash_mismatch
VoidThe content received by the Dropbox server in this call does not match the provided content hash.This route starts batch of upload_sessions. Please refer to `upload_session/start` usage. Calls to this endpoint will count as data transport calls for any Dropbox Business teams with a limit on the number of data transport calls allowed per month. For more information, see the Data transport limit page.
https://api.dropboxapi.com/2/files/upload_session/start_batch
curl -X POST https://api.dropboxapi.com/2/files/upload_session/start_batch \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"num_sessions\":1}"
{ "num_sessions": 1 }
num_sessions
UInt64(min=1, max=1000)The number of upload sessions to start.session_type
?Type of upload session you want to start. If not specified, default is UploadSessionType.sequential. This field is optional.{ "session_ids": [ "1234faaf0678bcde" ] }
session_ids
List of (String)A List of unique identifiers for the upload session. Pass each session_id to upload_session/append:2 and upload_session/finish.This route is used for refreshing the info that is found in the id_token during the OIDC flow. This route doesn't require any arguments and will use the scopes approved for the given access token.
https://api.dropboxapi.com/2/openid/userinfo
family_name
String?Last name of user. This field is optional.given_name
String?First name of user. This field is optional.email
String?Email address of user. This field is optional.email_verified
Boolean?If user is email verified. This field is optional.iss
StringIssuer of token (in this case Dropbox). The default for this field is "".sub
StringAn identifier for the user. This is the Dropbox account_id, a string value such as dbid:AAH4f99T0taONIb-OurWxbNQ6ywGRopQngc. The default for this field is "".openid_error
This namespace contains endpoints and data types for managing docs and folders in Dropbox Paper. New Paper users will see docs they create in their filesystem as '.paper' files alongside their other Dropbox content. The /paper endpoints are being deprecated and you'll need to use /files and /sharing endpoints to interact with their Paper content. Read more in the :link:`Paper Migration Guide https://www.dropbox.com/lp/developers/reference/paper-migration-guide`.
This namespace contains endpoints and data types for user management.
Get a list of feature values that may be configured for the current account.
https://api.dropboxapi.com/2/users/features/get_values
curl -X POST https://api.dropboxapi.com/2/users/features/get_values \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"features\":[{\".tag\":\"paper_as_files\"},{\".tag\":\"file_locking\"}]}"
{ "features": [ { ".tag": "paper_as_files" }, { ".tag": "file_locking" } ] }
features
List of ()A list of features in UserFeature. If the list is empty, this route will return UserFeaturesGetValuesBatchError.{ "values": [ { ".tag": "paper_as_files", "paper_as_files": { ".tag": "enabled", "enabled": true } } ] }
values
List of (){ "error": { ".tag": "empty_features_list" }, "error_summary": "empty_features_list/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
empty_features_list
VoidAt least one UserFeature must be included in the UserFeaturesGetValuesBatchArg.features list.Get information about a user's account.
https://api.dropboxapi.com/2/users/get_account
curl -X POST https://api.dropboxapi.com/2/users/get_account \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"account_id\":\"dbid:AAH4f99T0taONIb-OurWxbNQ6ywGRopQngc\"}"
{ "account_id": "dbid:AAH4f99T0taONIb-OurWxbNQ6ywGRopQngc" }
account_id
String(min_length=40, max_length=40)A user's account identifier.{ "account_id": "dbid:AAH4f99T0taONIb-OurWxbNQ6ywGRopQngc", "disabled": false, "email": "franz@dropbox.com", "email_verified": true, "is_teammate": false, "name": { "abbreviated_name": "FF", "display_name": "Franz Ferdinand (Personal)", "familiar_name": "Franz", "given_name": "Franz", "surname": "Ferdinand" }, "profile_photo_url": "https://dl-web.dropbox.com/account_photo/get/dbaphid%3AAAHWGmIXV3sUuOmBfTz0wPsiqHUpBWvv3ZA?vers=1556069330102&size=128x128" }
{ "account_id": "dbid:AAH4f99T0taONIb-OurWxbNQ6ywGRopQngc", "disabled": false, "email": "franz@dropbox.com", "email_verified": true, "is_teammate": true, "name": { "abbreviated_name": "FF", "display_name": "Franz Ferdinand (Personal)", "familiar_name": "Franz", "given_name": "Franz", "surname": "Ferdinand" }, "profile_photo_url": "https://dl-web.dropbox.com/account_photo/get/dbaphid%3AAAHWGmIXV3sUuOmBfTz0wPsiqHUpBWvv3ZA?vers=1556069330102&size=128x128", "team_member_id": "dbmid:AAHhy7WsR0x-u4ZCqiDl5Fz5zvuL3kmspwU" }
account_id
String(min_length=40, max_length=40)The user's unique Dropbox ID.name
Details of a user's name.email
StringThe user's email address. Do not rely on this without checking the email_verified field. Even then, it's possible that the user has since lost access to their email.email_verified
BooleanWhether the user has verified their email address.disabled
BooleanWhether the user has been disabled.is_teammate
BooleanWhether this user is a teammate of the current user. If this account is the current user's account, then this will be true.profile_photo_url
String?URL for the photo representing the user, if one is set. This field is optional.team_member_id
String?The user's unique team member id. This field will only be present if the user is part of a team and is_teammate is true. This field is optional.{ "error": { ".tag": "no_account" }, "error_summary": "no_account/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
no_account
VoidThe specified GetAccountArg.account_id does not exist.Get information about multiple user accounts. At most 300 accounts may be queried per request.
https://api.dropboxapi.com/2/users/get_account_batch
curl -X POST https://api.dropboxapi.com/2/users/get_account_batch \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"account_ids\":[\"dbid:AAH4f99T0taONIb-OurWxbNQ6ywGRopQngc\",\"dbid:AAH1Vcz-DVoRDeixtr_OA8oUGgiqhs4XPOQ\"]}"
{ "account_ids": [ "dbid:AAH4f99T0taONIb-OurWxbNQ6ywGRopQngc", "dbid:AAH1Vcz-DVoRDeixtr_OA8oUGgiqhs4XPOQ" ] }
account_ids
List of (String(min_length=40, max_length=40), min_items=1)List of user account identifiers. Should not contain any duplicate account IDs.account_id
String(min_length=40, max_length=40)The user's unique Dropbox ID.name
Details of a user's name.email
StringThe user's email address. Do not rely on this without checking the email_verified field. Even then, it's possible that the user has since lost access to their email.email_verified
BooleanWhether the user has verified their email address.disabled
BooleanWhether the user has been disabled.is_teammate
BooleanWhether this user is a teammate of the current user. If this account is the current user's account, then this will be true.profile_photo_url
String?URL for the photo representing the user, if one is set. This field is optional.team_member_id
String?The user's unique team member id. This field will only be present if the user is part of a team and is_teammate is true. This field is optional.{ "error": { ".tag": "no_account", "no_account": "dbid:AAH4f99T0taONIb-OurWxbNQ6ywGRopQngc" }, "error_summary": "no_account/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
no_account
String(min_length=40, max_length=40)The value is an account ID specified in GetAccountBatchArg.account_ids that does not exist.Get information about the current user's account.
https://api.dropboxapi.com/2/users/get_current_account
curl -X POST https://api.dropboxapi.com/2/users/get_current_account \
--header "Authorization: Bearer "
{ "account_id": "dbid:AAH4f99T0taONIb-OurWxbNQ6ywGRopQngc", "account_type": { ".tag": "business" }, "country": "US", "disabled": false, "email": "franz@dropbox.com", "email_verified": true, "is_paired": true, "locale": "en", "name": { "abbreviated_name": "FF", "display_name": "Franz Ferdinand (Personal)", "familiar_name": "Franz", "given_name": "Franz", "surname": "Ferdinand" }, "referral_link": "https://db.tt/ZITNuhtI", "root_info": { ".tag": "user", "home_namespace_id": "3235641", "root_namespace_id": "3235641" }, "team": { "id": "dbtid:AAFdgehTzw7WlXhZJsbGCLePe8RvQGYDr-I", "name": "Acme, Inc.", "office_addin_policy": { ".tag": "disabled" }, "sharing_policies": { "default_link_expiration_days_policy": { ".tag": "none" }, "enforce_link_password_policy": { ".tag": "optional" }, "group_creation_policy": { ".tag": "admins_only" }, "shared_folder_join_policy": { ".tag": "from_anyone" }, "shared_folder_link_restriction_policy": { ".tag": "anyone" }, "shared_folder_member_policy": { ".tag": "team" }, "shared_link_create_policy": { ".tag": "team_only" }, "shared_link_default_permissions_policy": { ".tag": "default" } }, "top_level_content_policy": { ".tag": "admin_only" } }, "team_member_id": "dbmid:AAHhy7WsR0x-u4ZCqiDl5Fz5zvuL3kmspwU" }
{ "account_id": "dbid:AAH4f99T0taONIb-OurWxbNQ6ywGRopQngc", "account_type": { ".tag": "basic" }, "country": "US", "disabled": false, "email": "franz@gmail.com", "email_verified": false, "is_paired": false, "locale": "en", "name": { "abbreviated_name": "FF", "display_name": "Franz Ferdinand (Personal)", "familiar_name": "Franz", "given_name": "Franz", "surname": "Ferdinand" }, "profile_photo_url": "https://dl-web.dropbox.com/account_photo/get/dbaphid%3AAAHWGmIXV3sUuOmBfTz0wPsiqHUpBWvv3ZA?vers=1556069330102&size=128x128", "referral_link": "https://db.tt/ZITNuhtI", "root_info": { ".tag": "user", "home_namespace_id": "3235641", "root_namespace_id": "3235641" } }
account_id
String(min_length=40, max_length=40)The user's unique Dropbox ID.name
Details of a user's name.email
StringThe user's email address. Do not rely on this without checking the email_verified field. Even then, it's possible that the user has since lost access to their email.email_verified
BooleanWhether the user has verified their email address.disabled
BooleanWhether the user has been disabled.locale
String(min_length=2)The language that the user specified. Locale tags will be IETF language tags.referral_link
StringThe user's referral link.is_paired
BooleanWhether the user has a personal and work account. If the current account is personal, then team will always be None, but 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
String?URL for the photo representing the user, if one is set. This field is optional.country
String(min_length=2, max_length=2)?The user's two-letter country code, if available. Country codes are based on ISO 3166-1. This field is optional.team
?If this account is a member of a team, information about that team. This field is optional.team_member_id
String?This account's unique team member id. This field will only be present if team is present. This field is optional.Get the space usage information for the current user's account.
https://api.dropboxapi.com/2/users/get_space_usage
curl -X POST https://api.dropboxapi.com/2/users/get_space_usage \
--header "Authorization: Bearer "
{ "allocation": { ".tag": "individual", "allocated": 10000000000 }, "used": 314159265 }
used
UInt64The user's total space usage (bytes).allocation
The user's space allocation.All deprecated endpoints, across namespaces
Deprecated endpoints for auth
Creates an OAuth 2.0 access token from the supplied OAuth 1.0 access token.
https://api.dropboxapi.com/2/auth/token/from_oauth1
curl -X POST https://api.dropboxapi.com/2/auth/token/from_oauth1 \
--header "Authorization: Basic " \
--header "Content-Type: application/json" \
--data "{\"oauth1_token\":\"qievr8hamyg6ndck\",\"oauth1_token_secret\":\"qomoftv0472git7\"}"
{ "oauth1_token": "qievr8hamyg6ndck", "oauth1_token_secret": "qomoftv0472git7" }
oauth1_token
String(min_length=1)The supplied OAuth 1.0 access token.oauth1_token_secret
String(min_length=1)The token secret associated with the supplied access token.{ "oauth2_token": "9mCrkS7BIdAAAAAAAAAAHHS0TsSnpYvKQVtKdBnN5IuzhYOGblSgTcHgBFKFMmFn" }
oauth2_token
String(min_length=1)The OAuth 2.0 token generated from the supplied OAuth 1.0 token.{ "error": { ".tag": "invalid_oauth1_token_info" }, "error_summary": "invalid_oauth1_token_info/..." }
{ "error": { ".tag": "app_id_mismatch" }, "error_summary": "app_id_mismatch/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
invalid_oauth1_token_info
VoidPart or all of the OAuth 1.0 access token info is invalid.app_id_mismatch
VoidThe authorized app does not match the app associated with the supplied access token.Deprecated endpoints for files
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.
https://api.dropboxapi.com/2/files/alpha/get_metadata
curl -X POST https://api.dropboxapi.com/2/files/alpha/get_metadata \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"include_deleted\":false,\"include_has_explicit_shared_members\":false,\"include_media_info\":false,\"path\":\"/Homework/math\"}"
{ "include_deleted": false, "include_has_explicit_shared_members": false, "include_media_info": false, "path": "/Homework/math" }
{ "include_deleted": false, "include_has_explicit_shared_members": false, "include_media_info": false, "path": "id:a4ayc_80_OEAAAAAAAAAYa" }
{ "include_deleted": false, "include_has_explicit_shared_members": false, "include_media_info": false, "path": "rev:a1c10ce0dd78" }
path
String(pattern="(/(.|[\r\n])*|id:.*)|(rev:[0-9a-f]{9,})|(ns:[0-9]+(/.*)?)")The path of a file or folder on Dropbox.include_media_info
BooleanIf true, FileMetadata.media_info is set for photo and video. The default for this field is False.include_deleted
BooleanIf true, DeletedMetadata will be returned for deleted file or folder, otherwise LookupError.not_found will be returned. The default for this field is False.include_has_explicit_shared_members
BooleanIf true, the results will include a flag for each file indicating whether or not that file has any explicit members. The default for this field is False.include_property_groups
?If set to a valid list of template IDs, FileMetadata.property_groups is set if there exists property data associated with the file and each of the listed templates. This field is optional.include_property_templates
deprecated List of (String(min_length=1, pattern="(/|ptid:).*"))?Field is deprecated. If set to a valid list of template IDs, FileMetadata.property_groups is set for files with custom properties. This field is optional.{ ".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": "Prime_Numbers.txt", "path_display": "/Homework/math/Prime_Numbers.txt", "path_lower": "/homework/math/prime_numbers.txt", "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 } }
{ ".tag": "file", "client_modified": "2015-05-12T15:50:38Z", "content_hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "has_explicit_shared_members": false, "id": "id:a4ayc_80_OEAAAAAAAAAXw", "is_downloadable": true, "name": "Prime_Numbers.txt", "path_display": "/Homework/math/Prime_Numbers.txt", "path_lower": "/homework/math/prime_numbers.txt", "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 }
file
folder
deleted
path
properties_error
Create a new file with the contents provided in the request. Note that the behavior of this alpha endpoint is unstable and subject to change. Do not use this to upload a file larger than 150 MiB. Instead, create an upload session with upload_session/start.
https://content.dropboxapi.com/2/files/alpha/upload
curl -X POST https://content.dropboxapi.com/2/files/alpha/upload \
--header "Authorization: Bearer " \
--header "Dropbox-API-Arg: {\"autorename\":false,\"mode\":\"add\",\"mute\":false,\"path\":\"/Homework/math/Matrices.txt\",\"strict_conflict\":false}" \
--header "Content-Type: application/octet-stream" \
--data-binary @local_file.txt
{ "autorename": false, "mode": "add", "mute": false, "path": "/Homework/math/Matrices.txt", "strict_conflict": false }
path
String(pattern="(/(.|[\r\n])*)|(ns:[0-9]+(/.*)?)|(id:.*)")Path in the user's Dropbox to save the file.mode
Selects what to do if the file already exists. The default for this union is add.autorename
BooleanIf there's a conflict, as determined by mode, have the Dropbox server try to autorename the file to avoid conflict. The default for this field is False.client_modified
Timestamp(format="%Y-%m-%dT%H:%M:%SZ")?The value to store as the 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. This field is optional.mute
BooleanNormally, users are made aware of any file modifications in their Dropbox account via notifications in the client software. If true, this tells the clients that this modification shouldn't result in a user notification. The default for this field is False.property_groups
List of ()?List of custom properties to add to file. This field is optional.strict_conflict
BooleanBe more strict about how each WriteMode detects conflict. For example, always return a conflict error when mode = WriteMode.update and the given "rev" doesn't match the existing file's "rev", even if the existing file has been deleted. This also forces a conflict even when the target path refers to a file with identical contents. The default for this field is False.content_hash
String(min_length=64, max_length=64)?A hash of the file content uploaded in this call. If provided and the uploaded content does not match this hash, an error will be returned. For more information see our Content hash page. This field is optional.{ "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": "Prime_Numbers.txt", "path_display": "/Homework/math/Prime_Numbers.txt", "path_lower": "/homework/math/prime_numbers.txt", "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 }
{ "client_modified": "2015-05-12T15:50:38Z", "content_hash": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855", "has_explicit_shared_members": false, "id": "id:a4ayc_80_OEAAAAAAAAAXw", "is_downloadable": true, "name": "Prime_Numbers.txt", "path_display": "/Homework/math/Prime_Numbers.txt", "path_lower": "/homework/math/prime_numbers.txt", "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 }
name
StringThe last component of the path (including extension). This never contains a slash.id
String(min_length=1)A unique identifier for the file.client_modified
Timestamp(format="%Y-%m-%dT%H:%M:%SZ")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
Timestamp(format="%Y-%m-%dT%H:%M:%SZ")The last time the file was modified on Dropbox.rev
String(min_length=9, pattern="[0-9a-f]+")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
UInt64The file size in bytes.path_lower
String?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. This field is optional.path_display
String?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 list_folder/continue. This field will be null if the file or folder is not mounted. This field is optional.parent_shared_folder_id
deprecated String(pattern="[-_0-9a-zA-Z:]+")?Field is deprecated. Please use FileSharingInfo.parent_shared_folder_id or FolderSharingInfo.parent_shared_folder_id instead. This field is optional.preview_url
String?The preview URL of the file. This field is optional.media_info
?Additional information if the file is a photo or video. This field will not be set on entries returned by list_folder, list_folder/continue, or get_thumbnail_batch, starting December 2, 2019. This field is optional.symlink_info
?Set if this file is a symlink. This field is optional.sharing_info
?Set if this file is contained in a shared folder. This field is optional.is_downloadable
BooleanIf true, file can be downloaded directly; else the file must be exported. The default for this field is True.export_info
?Information about format this file can be exported to. This filed must be set if is_downloadable is set to false. This field is optional.property_groups
List of ()?Additional information if the file has custom properties with the property template specified. This field is optional.has_explicit_shared_members
Boolean?This flag will only be present if include_has_explicit_shared_members is true in list_folder or 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. This field is optional.content_hash
String(min_length=64, max_length=64)?A hash of the file content. This field can be used to verify data integrity. For more information see our Content hash page. This field is optional.file_lock_info
?If present, the metadata associated with the file's current lock. This field is optional.{ "error": { ".tag": "payload_too_large" }, "error_summary": "payload_too_large/..." }
{ "error": { ".tag": "content_hash_mismatch" }, "error_summary": "content_hash_mismatch/..." }
{ "error": { ".tag": "encryption_not_supported" }, "error_summary": "encryption_not_supported/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
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.payload_too_large
VoidThe request payload must be at most 150 MiB.content_hash_mismatch
VoidThe content received by the Dropbox server in this call does not match the provided content hash.encryption_not_supported
VoidThe file is required to be encrypted, which is not supported in our public API.No description
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/files/properties/add
curl -X POST https://api.dropboxapi.com/2/files/properties/add \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"path\":\"/my_awesome/word.docx\",\"property_groups\":[{\"fields\":[{\"name\":\"Security Policy\",\"value\":\"Confidential\"}],\"template_id\":\"ptid:1a5n2i6d3OYEAAAAAAAAAYa\"}]}"
{ "path": "/my_awesome/word.docx", "property_groups": [ { "fields": [ { "name": "Security Policy", "value": "Confidential" } ], "template_id": "ptid:1a5n2i6d3OYEAAAAAAAAAYa" } ] }
path
String(pattern="/(.|[\r\n])*|id:.*|(ns:[0-9]+(/.*)?)")A unique identifier for the file or folder.property_groups
List of ()The property groups which are to be added to a Dropbox file. No two groups in the input should refer to the same template.{ "error": { ".tag": "restricted_content" }, "error_summary": "restricted_content/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
{ "error": { ".tag": "unsupported_folder" }, "error_summary": "unsupported_folder/..." }
{ "error": { ".tag": "property_field_too_large" }, "error_summary": "property_field_too_large/..." }
{ "error": { ".tag": "does_not_fit_template" }, "error_summary": "does_not_fit_template/..." }
{ "error": { ".tag": "duplicate_property_groups" }, "error_summary": "duplicate_property_groups/..." }
{ "error": { ".tag": "property_group_already_exists" }, "error_summary": "property_group_already_exists/..." }
template_not_found
String(min_length=1, pattern="(/|ptid:).*")Template does not exist for the given identifier.restricted_content
VoidYou do not have permission to modify this template.path
unsupported_folder
VoidThis folder cannot be tagged. Tagging folders is not supported for team-owned templates.property_field_too_large
VoidOne or more of the supplied property field values is too large.does_not_fit_template
VoidOne or more of the supplied property fields does not conform to the template specifications.duplicate_property_groups
VoidThere are 2 or more property groups referring to the same templates in the input.property_group_already_exists
VoidA property group associated with this template and file already exists.No description
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/files/properties/overwrite
curl -X POST https://api.dropboxapi.com/2/files/properties/overwrite \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"path\":\"/my_awesome/word.docx\",\"property_groups\":[{\"fields\":[{\"name\":\"Security Policy\",\"value\":\"Confidential\"}],\"template_id\":\"ptid:1a5n2i6d3OYEAAAAAAAAAYa\"}]}"
{ "path": "/my_awesome/word.docx", "property_groups": [ { "fields": [ { "name": "Security Policy", "value": "Confidential" } ], "template_id": "ptid:1a5n2i6d3OYEAAAAAAAAAYa" } ] }
path
String(pattern="/(.|[\r\n])*|id:.*|(ns:[0-9]+(/.*)?)")A unique identifier for the file or folder.property_groups
List of (, min_items=1)The property groups "snapshot" updates to force apply. No two groups in the input should refer to the same template.{ "error": { ".tag": "restricted_content" }, "error_summary": "restricted_content/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
{ "error": { ".tag": "unsupported_folder" }, "error_summary": "unsupported_folder/..." }
{ "error": { ".tag": "property_field_too_large" }, "error_summary": "property_field_too_large/..." }
{ "error": { ".tag": "does_not_fit_template" }, "error_summary": "does_not_fit_template/..." }
{ "error": { ".tag": "duplicate_property_groups" }, "error_summary": "duplicate_property_groups/..." }
template_not_found
String(min_length=1, pattern="(/|ptid:).*")Template does not exist for the given identifier.restricted_content
VoidYou do not have permission to modify this template.path
unsupported_folder
VoidThis folder cannot be tagged. Tagging folders is not supported for team-owned templates.property_field_too_large
VoidOne or more of the supplied property field values is too large.does_not_fit_template
VoidOne or more of the supplied property fields does not conform to the template specifications.duplicate_property_groups
VoidThere are 2 or more property groups referring to the same templates in the input.No description
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/files/properties/remove
curl -X POST https://api.dropboxapi.com/2/files/properties/remove \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"path\":\"/my_awesome/word.docx\",\"property_template_ids\":[\"ptid:1a5n2i6d3OYEAAAAAAAAAYa\"]}"
{ "path": "/my_awesome/word.docx", "property_template_ids": [ "ptid:1a5n2i6d3OYEAAAAAAAAAYa" ] }
path
String(pattern="/(.|[\r\n])*|id:.*|(ns:[0-9]+(/.*)?)")A unique identifier for the file or folder.property_template_ids
List of (String(min_length=1, pattern="(/|ptid:).*"))A list of identifiers for a template created by templates/add_for_user or templates/add_for_team.{ "error": { ".tag": "restricted_content" }, "error_summary": "restricted_content/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
{ "error": { ".tag": "unsupported_folder" }, "error_summary": "unsupported_folder/..." }
template_not_found
String(min_length=1, pattern="(/|ptid:).*")Template does not exist for the given identifier.restricted_content
VoidYou do not have permission to modify this template.path
unsupported_folder
VoidThis folder cannot be tagged. Tagging folders is not supported for team-owned templates.property_group_lookup
No description
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/files/properties/template/get
curl -X POST https://api.dropboxapi.com/2/files/properties/template/get \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"template_id\":\"ptid:1a5n2i6d3OYEAAAAAAAAAYa\"}"
{ "template_id": "ptid:1a5n2i6d3OYEAAAAAAAAAYa" }
template_id
String(min_length=1, pattern="(/|ptid:).*")An identifier for template added by route See templates/add_for_user or templates/add_for_team.{ "description": "These properties describe how confidential this file or folder is.", "fields": [ { "description": "This is the security policy of the file or folder described.\nPolicies can be Confidential, Public or Internal.", "name": "Security Policy", "type": { ".tag": "string" } } ], "name": "Security" }
name
StringDisplay name for the template. Template names can be up to 256 bytes.description
StringDescription for the template. Template descriptions can be up to 1024 bytes.fields
List of ()Definitions of the property fields associated with this template. There can be up to 32 properties in a single template.{ "error": { ".tag": "restricted_content" }, "error_summary": "restricted_content/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
template_not_found
String(min_length=1, pattern="(/|ptid:).*")Template does not exist for the given identifier.restricted_content
VoidYou do not have permission to modify this template.No description
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/files/properties/template/list
curl -X POST https://api.dropboxapi.com/2/files/properties/template/list \
--header "Authorization: Bearer "
{ "template_ids": [ "ptid:1a5n2i6d3OYEAAAAAAAAAYa" ] }
template_ids
List of (String(min_length=1, pattern="(/|ptid:).*"))List of identifiers for templates added by See templates/add_for_user or templates/add_for_team.{ "error": { ".tag": "restricted_content" }, "error_summary": "restricted_content/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
template_not_found
String(min_length=1, pattern="(/|ptid:).*")Template does not exist for the given identifier.restricted_content
VoidYou do not have permission to modify this template.No description
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/files/properties/update
curl -X POST https://api.dropboxapi.com/2/files/properties/update \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"path\":\"/my_awesome/word.docx\",\"update_property_groups\":[{\"add_or_update_fields\":[{\"name\":\"Security Policy\",\"value\":\"Confidential\"}],\"remove_fields\":[],\"template_id\":\"ptid:1a5n2i6d3OYEAAAAAAAAAYa\"}]}"
{ "path": "/my_awesome/word.docx", "update_property_groups": [ { "add_or_update_fields": [ { "name": "Security Policy", "value": "Confidential" } ], "remove_fields": [], "template_id": "ptid:1a5n2i6d3OYEAAAAAAAAAYa" } ] }
path
String(pattern="/(.|[\r\n])*|id:.*|(ns:[0-9]+(/.*)?)")A unique identifier for the file or folder.update_property_groups
List of ()The property groups "delta" updates to apply.{ "error": { ".tag": "restricted_content" }, "error_summary": "restricted_content/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
{ "error": { ".tag": "unsupported_folder" }, "error_summary": "unsupported_folder/..." }
{ "error": { ".tag": "property_field_too_large" }, "error_summary": "property_field_too_large/..." }
{ "error": { ".tag": "does_not_fit_template" }, "error_summary": "does_not_fit_template/..." }
{ "error": { ".tag": "duplicate_property_groups" }, "error_summary": "duplicate_property_groups/..." }
template_not_found
String(min_length=1, pattern="(/|ptid:).*")Template does not exist for the given identifier.restricted_content
VoidYou do not have permission to modify this template.path
unsupported_folder
VoidThis folder cannot be tagged. Tagging folders is not supported for team-owned templates.property_field_too_large
VoidOne or more of the supplied property field values is too large.does_not_fit_template
VoidOne or more of the supplied property fields does not conform to the template specifications.duplicate_property_groups
VoidThere are 2 or more property groups referring to the same templates in the input.property_group_lookup
Deprecated endpoints for paper
Marks the given Paper doc as archived. This action can be performed or undone by anyone with edit permissions to the doc. Note that this endpoint will continue to work for content created by users on the older version of Paper. To check which version of Paper a user is on, use /users/features/get_values. If the paper_as_files feature is enabled, then the user is running the new version of Paper. This endpoint will be retired in September 2020. Refer to the Paper Migration Guide for more information.
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/paper/docs/archive
curl -X POST https://api.dropboxapi.com/2/paper/docs/archive \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"doc_id\":\"uaSvRuxvnkFa12PTkBv5q\"}"
{ "doc_id": "uaSvRuxvnkFa12PTkBv5q" }
doc_id
StringThe Paper doc ID.{ "error": { ".tag": "insufficient_permissions" }, "error_summary": "insufficient_permissions/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
{ "error": { ".tag": "doc_not_found" }, "error_summary": "doc_not_found/..." }
insufficient_permissions
VoidYour account does not have permissions to perform this action. This may be due to it only having access to Paper as files in the Dropbox filesystem. For more information, refer to the Paper Migration Guide.doc_not_found
VoidThe required doc was not found.Creates a new Paper doc with the provided content. Note that this endpoint will continue to work for content created by users on the older version of Paper. To check which version of Paper a user is on, use /users/features/get_values. If the paper_as_files feature is enabled, then the user is running the new version of Paper. This endpoint will be retired in September 2020. Refer to the Paper Migration Guide for more information.
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/paper/docs/create
curl -X POST https://api.dropboxapi.com/2/paper/docs/create \
--header "Authorization: Bearer " \
--header "Dropbox-API-Arg: {\"import_format\":\"markdown\"}" \
--header "Content-Type: application/octet-stream" \
--data-binary @local_file.txt
{ "import_format": "markdown" }
{ "import_format": "html", "parent_folder_id": "e.gGYT6HSafpMej9bUv306GarglI7GGeAM3yvfZvXHO9u4mV" }
import_format
The format of provided data.parent_folder_id
String?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. This field is optional.{ "doc_id": "uaSvRuxvnkFa12PTkBv5q", "revision": 456736745, "title": "Week one retention" }
doc_id
StringDoc ID of the newly created doc.revision
Int64The Paper doc revision. Simply an ever increasing number.title
StringThe Paper doc title.{ "error": { ".tag": "insufficient_permissions" }, "error_summary": "insufficient_permissions/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
{ "error": { ".tag": "content_malformed" }, "error_summary": "content_malformed/..." }
{ "error": { ".tag": "folder_not_found" }, "error_summary": "folder_not_found/..." }
{ "error": { ".tag": "doc_length_exceeded" }, "error_summary": "doc_length_exceeded/..." }
{ "error": { ".tag": "image_size_exceeded" }, "error_summary": "image_size_exceeded/..." }
insufficient_permissions
VoidYour account does not have permissions to perform this action. This may be due to it only having access to Paper as files in the Dropbox filesystem. For more information, refer to the Paper Migration Guide.content_malformed
VoidThe provided content was malformed and cannot be imported to Paper.folder_not_found
VoidThe specified Paper folder is cannot be found.doc_length_exceeded
VoidThe newly created Paper doc would be too large. Please split the content into multiple docs.image_size_exceeded
VoidThe imported document contains an image that is too large. The current limit is 1MB. This only applies to HTML with data URI.Exports and downloads Paper doc either as HTML or markdown. Note that this endpoint will continue to work for content created by users on the older version of Paper. To check which version of Paper a user is on, use /users/features/get_values. If the paper_as_files feature is enabled, then the user is running the new version of Paper. Refer to the Paper Migration Guide for migration information.
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/paper/docs/download
curl -X POST https://api.dropboxapi.com/2/paper/docs/download \
--header "Authorization: Bearer " \
--header "Dropbox-API-Arg: {\"doc_id\":\"uaSvRuxvnkFa12PTkBv5q\",\"export_format\":\"markdown\"}"
{ "doc_id": "uaSvRuxvnkFa12PTkBv5q", "export_format": "markdown" }
doc_id
StringThe Paper doc ID.export_format
{ "mime_type": "text/x-markdown", "owner": "james@example.com", "revision": 456736745, "title": "Week one retention" }
owner
StringThe Paper doc owner's email address.title
StringThe Paper doc title.revision
Int64The Paper doc revision. Simply an ever increasing number.mime_type
StringMIME type of the export. This corresponds to ExportFormat specified in the request.{ "error": { ".tag": "insufficient_permissions" }, "error_summary": "insufficient_permissions/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
{ "error": { ".tag": "doc_not_found" }, "error_summary": "doc_not_found/..." }
insufficient_permissions
VoidYour account does not have permissions to perform this action. This may be due to it only having access to Paper as files in the Dropbox filesystem. For more information, refer to the Paper Migration Guide.doc_not_found
VoidThe required doc was not found.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. Note that this endpoint will continue to work for content created by users on the older version of Paper. To check which version of Paper a user is on, use /users/features/get_values. If the paper_as_files feature is enabled, then the user is running the new version of Paper. Refer to the Paper Migration Guide for migration information.
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/paper/docs/folder_users/list
curl -X POST https://api.dropboxapi.com/2/paper/docs/folder_users/list \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"doc_id\":\"uaSvRuxvnkFa12PTkBv5q\",\"limit\":100}"
{ "doc_id": "uaSvRuxvnkFa12PTkBv5q", "limit": 100 }
doc_id
StringThe Paper doc ID.limit
Int32(min=1, max=1000)Size limit per batch. The maximum number of users that can be retrieved per batch is 1000. Higher value results in invalid arguments error. The default for this field is 1000.{ "cursor": { "expiration": "2016-08-07T14:56:15Z", "value": "zHZvTPBnXilGgm1AmDgVyZ10zf7qb0qznd5sAVQbbIvoteSnWLjUdLU7aR25hb" }, "has_more": false, "invitees": [ { ".tag": "email", "email": "jessica@example.com" } ], "users": [ { "account_id": "dbid:AAH4f99T0taONIb-OurWxbNQ6ywGRopQngc", "display_name": "Robert Smith", "email": "bob@example.com", "same_team": true, "team_member_id": "dbmid:abcd1234" } ] }
invitees
List of ()List of email addresses that are invited on the Paper folder.users
List of ()List of users that are invited on the Paper folder.cursor
Pass the cursor into docs/folder_users/list/continue to paginate through all users. The cursor preserves all properties as specified in the original call to docs/folder_users/list.has_more
BooleanWill be set to True if a subsequent call with the provided cursor to docs/folder_users/list/continue returns immediately with some results. If set to False please allow some delay before making another call to docs/folder_users/list/continue.{ "error": { ".tag": "insufficient_permissions" }, "error_summary": "insufficient_permissions/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
{ "error": { ".tag": "doc_not_found" }, "error_summary": "doc_not_found/..." }
insufficient_permissions
VoidYour account does not have permissions to perform this action. This may be due to it only having access to Paper as files in the Dropbox filesystem. For more information, refer to the Paper Migration Guide.doc_not_found
VoidThe required doc was not found.Once a cursor has been retrieved from docs/folder_users/list, use this to paginate through all users on the Paper folder. Note that this endpoint will continue to work for content created by users on the older version of Paper. To check which version of Paper a user is on, use /users/features/get_values. If the paper_as_files feature is enabled, then the user is running the new version of Paper. Refer to the Paper Migration Guide for migration information.
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/paper/docs/folder_users/list/continue
curl -X POST https://api.dropboxapi.com/2/paper/docs/folder_users/list/continue \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"cursor\":\"U60b6BxT43ySd5sAVQbbIvoteSnWLjUdLU7aR25hbt3ySd5sAVQbbIvoteSnWLjUd\",\"doc_id\":\"uaSvRuxvnkFa12PTkBv5q\"}"
{ "cursor": "U60b6BxT43ySd5sAVQbbIvoteSnWLjUdLU7aR25hbt3ySd5sAVQbbIvoteSnWLjUd", "doc_id": "uaSvRuxvnkFa12PTkBv5q" }
doc_id
StringThe Paper doc ID.cursor
StringThe cursor obtained from docs/folder_users/list or docs/folder_users/list/continue. Allows for pagination.{ "cursor": { "expiration": "2016-08-07T14:56:15Z", "value": "zHZvTPBnXilGgm1AmDgVyZ10zf7qb0qznd5sAVQbbIvoteSnWLjUdLU7aR25hb" }, "has_more": false, "invitees": [ { ".tag": "email", "email": "jessica@example.com" } ], "users": [ { "account_id": "dbid:AAH4f99T0taONIb-OurWxbNQ6ywGRopQngc", "display_name": "Robert Smith", "email": "bob@example.com", "same_team": true, "team_member_id": "dbmid:abcd1234" } ] }
invitees
List of ()List of email addresses that are invited on the Paper folder.users
List of ()List of users that are invited on the Paper folder.cursor
Pass the cursor into docs/folder_users/list/continue to paginate through all users. The cursor preserves all properties as specified in the original call to docs/folder_users/list.has_more
BooleanWill be set to True if a subsequent call with the provided cursor to docs/folder_users/list/continue returns immediately with some results. If set to False please allow some delay before making another call to docs/folder_users/list/continue.{ "error": { ".tag": "insufficient_permissions" }, "error_summary": "insufficient_permissions/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
{ "error": { ".tag": "doc_not_found" }, "error_summary": "doc_not_found/..." }
insufficient_permissions
VoidYour account does not have permissions to perform this action. This may be due to it only having access to Paper as files in the Dropbox filesystem. For more information, refer to the Paper Migration Guide.doc_not_found
VoidThe required doc was not found.cursor_error
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. If the Paper doc is not in any folder (aka unfiled) the response will be empty. Note that this endpoint will continue to work for content created by users on the older version of Paper. To check which version of Paper a user is on, use /users/features/get_values. If the paper_as_files feature is enabled, then the user is running the new version of Paper. Refer to the Paper Migration Guide for migration information.
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/paper/docs/get_folder_info
curl -X POST https://api.dropboxapi.com/2/paper/docs/get_folder_info \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"doc_id\":\"uaSvRuxvnkFa12PTkBv5q\"}"
{ "doc_id": "uaSvRuxvnkFa12PTkBv5q" }
doc_id
StringThe Paper doc ID.{ "folder_sharing_policy_type": { ".tag": "team" }, "folders": [ { "id": "e.gGYT6HSafpMej9bUv306oGm60vrHiCHgEFnzziioPGCvHf", "name": "Design docs" } ] }
folder_sharing_policy_type
?The sharing policy of the folder containing the Paper doc. This field is optional.folders
List of ()?The folder path. If present the first folder is the root folder. This field is optional.{ "error": { ".tag": "insufficient_permissions" }, "error_summary": "insufficient_permissions/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
{ "error": { ".tag": "doc_not_found" }, "error_summary": "doc_not_found/..." }
insufficient_permissions
VoidYour account does not have permissions to perform this action. This may be due to it only having access to Paper as files in the Dropbox filesystem. For more information, refer to the Paper Migration Guide.doc_not_found
VoidThe required doc was not found.Return the list of all Paper docs according to the argument specifications. To iterate over through the full pagination, pass the cursor to docs/list/continue. Note that this endpoint will continue to work for content created by users on the older version of Paper. To check which version of Paper a user is on, use /users/features/get_values. If the paper_as_files feature is enabled, then the user is running the new version of Paper. Refer to the Paper Migration Guide for migration information.
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/paper/docs/list
curl -X POST https://api.dropboxapi.com/2/paper/docs/list \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"filter_by\":\"docs_created\",\"limit\":100,\"sort_by\":\"modified\",\"sort_order\":\"descending\",\"stop_at_date\":\"2024-10-11T12:34:55Z\"}"
{ "filter_by": "docs_created", "limit": 100, "sort_by": "modified", "sort_order": "descending", "stop_at_date": "2024-10-11T12:34:55Z" }
filter_by
Allows user to specify how the Paper docs should be filtered. The default for this union is docs_accessed.sort_by
Allows user to specify how the Paper docs should be sorted. The default for this union is accessed.sort_order
Allows user to specify the sort order of the result. The default for this union is ascending.limit
Int32(min=1, max=1000)Size limit per batch. The maximum number of docs that can be retrieved per batch is 1000. Higher value results in invalid arguments error. The default for this field is 1000.stop_at_date
Timestamp(format="%Y-%m-%dT%H:%M:%SZ")?Do not return results beyond this date. Behavior depends on sort order. This field is optional.{ "cursor": { "expiration": "2016-08-07T14:56:15Z", "value": "zHZvTPBnXilGgm1AmDgVyZ10zf7qb0qznd5sAVQbbIvoteSnWLjUdLU7aR25hb" }, "doc_ids": [ "zO1E7coc54sE8IuMdUoxz", "mm1AmDgVyZ10zf7qb0qzn", "dByYHZvTPBnXilGgyc5mm" ], "has_more": true }
doc_ids
List of (String)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 docs/list.cursor
Pass the cursor into docs/list/continue to paginate through all files. The cursor preserves all properties as specified in the original call to docs/list.has_more
BooleanWill be set to True if a subsequent call with the provided cursor to docs/list/continue returns immediately with some results. If set to False please allow some delay before making another call to docs/list/continue.Once a cursor has been retrieved from docs/list, use this to paginate through all Paper doc. Note that this endpoint will continue to work for content created by users on the older version of Paper. To check which version of Paper a user is on, use /users/features/get_values. If the paper_as_files feature is enabled, then the user is running the new version of Paper. Refer to the Paper Migration Guide for migration information.
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/paper/docs/list/continue
curl -X POST https://api.dropboxapi.com/2/paper/docs/list/continue \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"cursor\":\"U60b6BxT43ySd5sAVQbbIvoteSnWLjUdLU7aR25hbt3ySd5sAVQbbIvoteSnWLjUd\"}"
{ "cursor": "U60b6BxT43ySd5sAVQbbIvoteSnWLjUdLU7aR25hbt3ySd5sAVQbbIvoteSnWLjUd" }
{ "cursor": { "expiration": "2016-08-07T14:56:15Z", "value": "zHZvTPBnXilGgm1AmDgVyZ10zf7qb0qznd5sAVQbbIvoteSnWLjUdLU7aR25hb" }, "doc_ids": [ "zO1E7coc54sE8IuMdUoxz", "mm1AmDgVyZ10zf7qb0qzn", "dByYHZvTPBnXilGgyc5mm" ], "has_more": true }
doc_ids
List of (String)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 docs/list.cursor
Pass the cursor into docs/list/continue to paginate through all files. The cursor preserves all properties as specified in the original call to docs/list.has_more
BooleanWill be set to True if a subsequent call with the provided cursor to docs/list/continue returns immediately with some results. If set to False please allow some delay before making another call to docs/list/continue.cursor_error
Permanently deletes the given Paper doc. This operation is final as the doc cannot be recovered. This action can be performed only by the doc owner. Note that this endpoint will continue to work for content created by users on the older version of Paper. To check which version of Paper a user is on, use /users/features/get_values. If the paper_as_files feature is enabled, then the user is running the new version of Paper. Refer to the Paper Migration Guide for migration information.
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/paper/docs/permanently_delete
curl -X POST https://api.dropboxapi.com/2/paper/docs/permanently_delete \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"doc_id\":\"uaSvRuxvnkFa12PTkBv5q\"}"
{ "doc_id": "uaSvRuxvnkFa12PTkBv5q" }
doc_id
StringThe Paper doc ID.{ "error": { ".tag": "insufficient_permissions" }, "error_summary": "insufficient_permissions/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
{ "error": { ".tag": "doc_not_found" }, "error_summary": "doc_not_found/..." }
insufficient_permissions
VoidYour account does not have permissions to perform this action. This may be due to it only having access to Paper as files in the Dropbox filesystem. For more information, refer to the Paper Migration Guide.doc_not_found
VoidThe required doc was not found.Gets the default sharing policy for the given Paper doc. Note that this endpoint will continue to work for content created by users on the older version of Paper. To check which version of Paper a user is on, use /users/features/get_values. If the paper_as_files feature is enabled, then the user is running the new version of Paper. Refer to the Paper Migration Guide for migration information.
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/paper/docs/sharing_policy/get
curl -X POST https://api.dropboxapi.com/2/paper/docs/sharing_policy/get \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"doc_id\":\"uaSvRuxvnkFa12PTkBv5q\"}"
{ "doc_id": "uaSvRuxvnkFa12PTkBv5q" }
doc_id
StringThe Paper doc ID.{ "public_sharing_policy": { ".tag": "people_with_link_can_edit" }, "team_sharing_policy": { ".tag": "people_with_link_can_edit" } }
public_sharing_policy
?This value applies to the non-team members. This field is optional.team_sharing_policy
?This value applies to the team members only. The value is null for all personal accounts. This field is optional.{ "error": { ".tag": "insufficient_permissions" }, "error_summary": "insufficient_permissions/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
{ "error": { ".tag": "doc_not_found" }, "error_summary": "doc_not_found/..." }
insufficient_permissions
VoidYour account does not have permissions to perform this action. This may be due to it only having access to Paper as files in the Dropbox filesystem. For more information, refer to the Paper Migration Guide.doc_not_found
VoidThe required doc was not found.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. The 'public_sharing_policy' policy can't be set to the value 'disabled' because this setting can be changed only via the team admin console. Note that this endpoint will continue to work for content created by users on the older version of Paper. To check which version of Paper a user is on, use /users/features/get_values. If the paper_as_files feature is enabled, then the user is running the new version of Paper. Refer to the Paper Migration Guide for migration information.
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/paper/docs/sharing_policy/set
curl -X POST https://api.dropboxapi.com/2/paper/docs/sharing_policy/set \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"doc_id\":\"uaSvRuxvnkFa12PTkBv5q\",\"sharing_policy\":{\"public_sharing_policy\":\"people_with_link_can_edit\",\"team_sharing_policy\":\"people_with_link_can_edit\"}}"
{ "doc_id": "uaSvRuxvnkFa12PTkBv5q", "sharing_policy": { "public_sharing_policy": "people_with_link_can_edit", "team_sharing_policy": "people_with_link_can_edit" } }
doc_id
StringThe Paper doc ID.sharing_policy
The default sharing policy to be set for the Paper doc.{ "error": { ".tag": "insufficient_permissions" }, "error_summary": "insufficient_permissions/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
{ "error": { ".tag": "doc_not_found" }, "error_summary": "doc_not_found/..." }
insufficient_permissions
VoidYour account does not have permissions to perform this action. This may be due to it only having access to Paper as files in the Dropbox filesystem. For more information, refer to the Paper Migration Guide.doc_not_found
VoidThe required doc was not found.Updates an existing Paper doc with the provided content. Note that this endpoint will continue to work for content created by users on the older version of Paper. To check which version of Paper a user is on, use /users/features/get_values. If the paper_as_files feature is enabled, then the user is running the new version of Paper. This endpoint will be retired in September 2020. Refer to the Paper Migration Guide for more information.
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/paper/docs/update
curl -X POST https://api.dropboxapi.com/2/paper/docs/update \
--header "Authorization: Bearer " \
--header "Dropbox-API-Arg: {\"doc_id\":\"uaSvRuxvnkFa12PTkBv5q\",\"doc_update_policy\":\"overwrite_all\",\"import_format\":\"html\",\"revision\":12345}" \
--header "Content-Type: application/octet-stream" \
--data-binary @local_file.txt
{ "doc_id": "uaSvRuxvnkFa12PTkBv5q", "doc_update_policy": "overwrite_all", "import_format": "html", "revision": 12345 }
{ "doc_id": "uaSvRuxvnkFa12PTkBv5q", "doc_update_policy": "prepend", "import_format": "plain_text", "revision": 56556 }
doc_id
StringThe Paper doc ID.doc_update_policy
The policy used for the current update call.revision
Int64The 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.{ "doc_id": "uaSvRuxvnkFa12PTkBv5q", "revision": 456736745, "title": "Week one retention" }
doc_id
StringDoc ID of the newly created doc.revision
Int64The Paper doc revision. Simply an ever increasing number.title
StringThe Paper doc title.{ "error": { ".tag": "insufficient_permissions" }, "error_summary": "insufficient_permissions/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
{ "error": { ".tag": "doc_not_found" }, "error_summary": "doc_not_found/..." }
{ "error": { ".tag": "content_malformed" }, "error_summary": "content_malformed/..." }
{ "error": { ".tag": "revision_mismatch" }, "error_summary": "revision_mismatch/..." }
{ "error": { ".tag": "doc_length_exceeded" }, "error_summary": "doc_length_exceeded/..." }
{ "error": { ".tag": "image_size_exceeded" }, "error_summary": "image_size_exceeded/..." }
{ "error": { ".tag": "doc_archived" }, "error_summary": "doc_archived/..." }
{ "error": { ".tag": "doc_deleted" }, "error_summary": "doc_deleted/..." }
insufficient_permissions
VoidYour account does not have permissions to perform this action. This may be due to it only having access to Paper as files in the Dropbox filesystem. For more information, refer to the Paper Migration Guide.doc_not_found
VoidThe required doc was not found.content_malformed
VoidThe provided content was malformed and cannot be imported to Paper.revision_mismatch
VoidThe provided revision does not match the document head.doc_length_exceeded
VoidThe newly created Paper doc would be too large, split the content into multiple docs.image_size_exceeded
VoidThe imported document contains an image that is too large. The current limit is 1MB. This only applies to HTML with data URI.doc_archived
VoidThis operation is not allowed on archived Paper docs.doc_deleted
VoidThis operation is not allowed on deleted Paper docs.Allows an owner or editor to add users to a Paper doc or change their permissions using their email address or Dropbox account ID. The doc owner's permissions cannot be changed. Note that this endpoint will continue to work for content created by users on the older version of Paper. To check which version of Paper a user is on, use /users/features/get_values. If the paper_as_files feature is enabled, then the user is running the new version of Paper. Refer to the Paper Migration Guide for migration information.
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/paper/docs/users/add
curl -X POST https://api.dropboxapi.com/2/paper/docs/users/add \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"custom_message\":\"Welcome to Paper.\",\"doc_id\":\"uaSvRuxvnkFa12PTkBv5q\",\"members\":[{\"member\":{\".tag\":\"email\",\"email\":\"justin@example.com\"},\"permission_level\":\"view_and_comment\"}],\"quiet\":false}"
{ "custom_message": "Welcome to Paper.", "doc_id": "uaSvRuxvnkFa12PTkBv5q", "members": [ { "member": { ".tag": "email", "email": "justin@example.com" }, "permission_level": "view_and_comment" } ], "quiet": false }
doc_id
StringThe Paper doc ID.members
List of (, max_items=20)User which should be added to the Paper doc. Specify only email address or Dropbox account ID.custom_message
String?A personal message that will be emailed to each successfully added member. This field is optional.quiet
BooleanClients should set this to true if no email message shall be sent to added users. The default for this field is False.member
One of specified input members.result
The outcome of the action on this member.{ "error": { ".tag": "insufficient_permissions" }, "error_summary": "insufficient_permissions/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
{ "error": { ".tag": "doc_not_found" }, "error_summary": "doc_not_found/..." }
insufficient_permissions
VoidYour account does not have permissions to perform this action. This may be due to it only having access to Paper as files in the Dropbox filesystem. For more information, refer to the Paper Migration Guide.doc_not_found
VoidThe required doc was not found.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. Note that this endpoint will continue to work for content created by users on the older version of Paper. To check which version of Paper a user is on, use /users/features/get_values. If the paper_as_files feature is enabled, then the user is running the new version of Paper. Refer to the Paper Migration Guide for migration information.
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/paper/docs/users/list
curl -X POST https://api.dropboxapi.com/2/paper/docs/users/list \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"doc_id\":\"uaSvRuxvnkFa12PTkBv5q\",\"filter_by\":\"shared\",\"limit\":100}"
{ "doc_id": "uaSvRuxvnkFa12PTkBv5q", "filter_by": "shared", "limit": 100 }
doc_id
StringThe Paper doc ID.limit
Int32(min=1, max=1000)Size limit per batch. The maximum number of users that can be retrieved per batch is 1000. Higher value results in invalid arguments error. The default for this field is 1000.filter_by
Specify this attribute if you want to obtain users that have already accessed the Paper doc. The default for this union is shared.{ "cursor": { "expiration": "2016-08-07T14:56:15Z", "value": "zHZvTPBnXilGgm1AmDgVyZ10zf7qb0qznd5sAVQbbIvoteSnWLjUdLU7aR25hb" }, "doc_owner": { "account_id": "dbid:AAH4f99T0taONIb-OurWxbNQ6ywGRopQngc", "display_name": "Robert Smith", "email": "bob@example.com", "same_team": true, "team_member_id": "dbmid:abcd1234" }, "has_more": false, "invitees": [ { "invitee": { ".tag": "email", "email": "jessica@example.com" }, "permission_level": { ".tag": "edit" } } ], "users": [ { "permission_level": { ".tag": "view_and_comment" }, "user": { "account_id": "dbid:AAH4f99T0taONIb-OurWxbNQ6ywGRopQngc", "display_name": "Robert Smith", "email": "bob@example.com", "same_team": true, "team_member_id": "dbmid:abcd1234" } } ] }
invitees
List of ()List of email addresses with their respective permission levels that are invited on the Paper doc.users
List of ()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 docs/users/list/continue to paginate through all users. The cursor preserves all properties as specified in the original call to docs/users/list.has_more
BooleanWill be set to True if a subsequent call with the provided cursor to docs/users/list/continue returns immediately with some results. If set to False please allow some delay before making another call to docs/users/list/continue.{ "error": { ".tag": "insufficient_permissions" }, "error_summary": "insufficient_permissions/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
{ "error": { ".tag": "doc_not_found" }, "error_summary": "doc_not_found/..." }
insufficient_permissions
VoidYour account does not have permissions to perform this action. This may be due to it only having access to Paper as files in the Dropbox filesystem. For more information, refer to the Paper Migration Guide.doc_not_found
VoidThe required doc was not found.Once a cursor has been retrieved from docs/users/list, use this to paginate through all users on the Paper doc. Note that this endpoint will continue to work for content created by users on the older version of Paper. To check which version of Paper a user is on, use /users/features/get_values. If the paper_as_files feature is enabled, then the user is running the new version of Paper. Refer to the Paper Migration Guide for migration information.
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/paper/docs/users/list/continue
curl -X POST https://api.dropboxapi.com/2/paper/docs/users/list/continue \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"cursor\":\"U60b6BxT43ySd5sAVQbbIvoteSnWLjUdLU7aR25hbt3ySd5sAVQbbIvoteSnWLjUd\",\"doc_id\":\"uaSvRuxvnkFa12PTkBv5q\"}"
{ "cursor": "U60b6BxT43ySd5sAVQbbIvoteSnWLjUdLU7aR25hbt3ySd5sAVQbbIvoteSnWLjUd", "doc_id": "uaSvRuxvnkFa12PTkBv5q" }
doc_id
StringThe Paper doc ID.cursor
StringThe cursor obtained from docs/users/list or docs/users/list/continue. Allows for pagination.{ "cursor": { "expiration": "2016-08-07T14:56:15Z", "value": "zHZvTPBnXilGgm1AmDgVyZ10zf7qb0qznd5sAVQbbIvoteSnWLjUdLU7aR25hb" }, "doc_owner": { "account_id": "dbid:AAH4f99T0taONIb-OurWxbNQ6ywGRopQngc", "display_name": "Robert Smith", "email": "bob@example.com", "same_team": true, "team_member_id": "dbmid:abcd1234" }, "has_more": false, "invitees": [ { "invitee": { ".tag": "email", "email": "jessica@example.com" }, "permission_level": { ".tag": "edit" } } ], "users": [ { "permission_level": { ".tag": "view_and_comment" }, "user": { "account_id": "dbid:AAH4f99T0taONIb-OurWxbNQ6ywGRopQngc", "display_name": "Robert Smith", "email": "bob@example.com", "same_team": true, "team_member_id": "dbmid:abcd1234" } } ] }
invitees
List of ()List of email addresses with their respective permission levels that are invited on the Paper doc.users
List of ()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 docs/users/list/continue to paginate through all users. The cursor preserves all properties as specified in the original call to docs/users/list.has_more
BooleanWill be set to True if a subsequent call with the provided cursor to docs/users/list/continue returns immediately with some results. If set to False please allow some delay before making another call to docs/users/list/continue.{ "error": { ".tag": "insufficient_permissions" }, "error_summary": "insufficient_permissions/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
{ "error": { ".tag": "doc_not_found" }, "error_summary": "doc_not_found/..." }
insufficient_permissions
VoidYour account does not have permissions to perform this action. This may be due to it only having access to Paper as files in the Dropbox filesystem. For more information, refer to the Paper Migration Guide.doc_not_found
VoidThe required doc was not found.cursor_error
Allows an owner or editor to remove users from a Paper doc using their email address or Dropbox account ID. The doc owner cannot be removed. Note that this endpoint will continue to work for content created by users on the older version of Paper. To check which version of Paper a user is on, use /users/features/get_values. If the paper_as_files feature is enabled, then the user is running the new version of Paper. Refer to the Paper Migration Guide for migration information.
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/paper/docs/users/remove
curl -X POST https://api.dropboxapi.com/2/paper/docs/users/remove \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"doc_id\":\"uaSvRuxvnkFa12PTkBv5q\",\"member\":{\".tag\":\"email\",\"email\":\"justin@example.com\"}}"
{ "doc_id": "uaSvRuxvnkFa12PTkBv5q", "member": { ".tag": "email", "email": "justin@example.com" } }
doc_id
StringThe Paper doc ID.member
User which should be removed from the Paper doc. Specify only email address or Dropbox account ID.{ "error": { ".tag": "insufficient_permissions" }, "error_summary": "insufficient_permissions/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
{ "error": { ".tag": "doc_not_found" }, "error_summary": "doc_not_found/..." }
insufficient_permissions
VoidYour account does not have permissions to perform this action. This may be due to it only having access to Paper as files in the Dropbox filesystem. For more information, refer to the Paper Migration Guide.doc_not_found
VoidThe required doc was not found.Create a new Paper folder with the provided info. Note that this endpoint will continue to work for content created by users on the older version of Paper. To check which version of Paper a user is on, use /users/features/get_values. If the paper_as_files feature is enabled, then the user is running the new version of Paper. Refer to the Paper Migration Guide for migration information.
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/paper/folders/create
curl -X POST https://api.dropboxapi.com/2/paper/folders/create \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"name\":\"my new folder\"}"
{ "name": "my new folder" }
{ "is_team_folder": true, "name": "my new folder" }
{ "name": "my new folder", "parent_folder_id": "e.gGYT6HSafpMej9bUv306GarglI7GGeAM3yvfZvXHO9u4mV" }
name
StringThe name of the new Paper folder.parent_folder_id
String?The encrypted Paper folder Id where the new Paper folder should be created. The API user has to have write access to this folder or error is thrown. If not supplied, the new folder will be created at top level. This field is optional.is_team_folder
Boolean?Whether the folder to be created should be a team folder. This value will be ignored if parent_folder_id is supplied, as the new folder will inherit the type (private or team folder) from its parent. We will by default create a top-level private folder if both parent_folder_id and is_team_folder are not supplied. This field is optional.{ "folder_id": "abcd" }
folder_id
StringFolder ID of the newly created folder.{ "error": { ".tag": "insufficient_permissions" }, "error_summary": "insufficient_permissions/..." }
{ "error": { ".tag": "other" }, "error_summary": "other/..." }
{ "error": { ".tag": "folder_not_found" }, "error_summary": "folder_not_found/..." }
{ "error": { ".tag": "invalid_folder_id" }, "error_summary": "invalid_folder_id/..." }
insufficient_permissions
VoidYour account does not have permissions to perform this action. This may be due to it only having access to Paper as files in the Dropbox filesystem. For more information, refer to the Paper Migration Guide.folder_not_found
VoidThe specified parent Paper folder cannot be found.invalid_folder_id
VoidThe folder id cannot be decrypted to valid folder id.Deprecated endpoints for sharing
Create a shared link. If a shared link already exists for the given path, that link is returned. 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 revoke_shared_link.
https://api.dropboxapi.com/2/sharing/create_shared_link
curl -X POST https://api.dropboxapi.com/2/sharing/create_shared_link \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"path\":\"/Homework/Math/Prime_Numbers.txt\",\"short_url\":false}"
{ "path": "/Homework/Math/Prime_Numbers.txt", "short_url": false }
{ "path": "/Homework/Math/Prime_Numbers.txt", "url": "https://www.dropbox.com/s/2sn712vy1ovegw8/Prime_Numbers.txt?dl=0", "visibility": { ".tag": "public" } }
url
StringURL of the shared link.visibility
Who can access the link.path
StringPath in user's Dropbox.expires
Timestamp(format="%Y-%m-%dT%H:%M:%SZ")?Expiration time, if set. By default the link won't expire. This field is optional.Returns a list of 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.
https://api.dropboxapi.com/2/sharing/get_shared_links
curl -X POST https://api.dropboxapi.com/2/sharing/get_shared_links \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"path\":\"\"}"
{ "path": "" }
{ "path": "/Homework/Math" }
{ "links": [ { ".tag": "path", "path": "/Homework/Math/Prime_Numbers.txt", "url": "https://www.dropbox.com/s/2sn712vy1ovegw8/Prime_Numbers.txt?dl=0", "visibility": { ".tag": "public" } } ] }
Identical to remove_file_member_2 but with less information returned.
This endpoint does not support apps with the app folder permission.
https://api.dropboxapi.com/2/sharing/remove_file_member
curl -X POST https://api.dropboxapi.com/2/sharing/remove_file_member \
--header "Authorization: Bearer " \
--header "Content-Type: application/json" \
--data "{\"file\":\"id:3kmLmQFnf1AAAAAAAAAAAw\",\"member\":{\".tag\":\"email\",\"email\":\"justin@example.com\"}}"
{ "file": "id:3kmLmQFnf1AAAAAAAAAAAw", "member": { ".tag": "email", "email": "justin@example.com" } }
file
String(min_length=1, pattern="((/|id:).*|nspath:[0-9]+:.*)|ns:[0-9]+(/.*)?")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.{ ".tag": "success" }
success
?Part of the response for both add_file_member and remove_file_member_v1 (deprecated). For add_file_member, indicates giving access was successful and at what AccessLevel. For remove_file_member_v1, indicates member was successfully removed from the file. If AccessLevel is given, the member still has access via a parent shared folder. This field is optional.member_error
User was not able to perform this action.user_error
access_error
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.