{"openapi":"3.1.0","info":{"title":"Dropbox (BYOK) API","version":"0.1.0","description":"Dropbox (BYOK) lets an AI assistant read your own Dropbox data through the Dropbox API with a key you supply (access token (short-lived tokens expire, often after about 4 hours)). Read-only: 8 tools (list_folder, list_folder_continue, get_metadata, search_files, search_files_continue, list_shared_links, list_revisions, list_shared_folders). The BYOK key travels with each request, is used for that...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-dropbox.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-dropbox/docs"},"termsOfService":"https://connectorbay.com/byok-dropbox/terms"},"servers":[{"url":"https://byok-dropbox.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-dropbox/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/list_folder":{"post":{"operationId":"list_folder","summary":"List the files and folders directly inside one Dropbox folder (or the whole tree below it) with size, dates and revision","description":"List the files and folders directly inside one Dropbox folder (or the whole tree below it) with size, dates and revision. Folders have no size. When has_more is true, pass the returned cursor to list_folder_continue. Use for \"What files are in my Dropbox Documents folder\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"path":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":"","description":"Folder path starting with '/', for example '/Documents'. Use an empty string for the root of the Dropbox.","title":"Path"},"recursive":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to include everything in subfolders as well.","title":"Recursive"},"include_deleted":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to include deleted entries still recoverable.","title":"Include Deleted"},"limit":{"anyOf":[{"maximum":2000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"Approximate number of entries per call (1 to 2000).","title":"Limit"}},"title":"list_folderArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_folder_continue":{"post":{"operationId":"list_folder_continue","summary":"Get the next page of a folder listing using the cursor returned by list_folder. Use for \"Show the next page of my Dropbo","description":"Get the next page of a folder listing using the cursor returned by list_folder. Use for \"Show the next page of my Dropbox folder listing\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"cursor":{"description":"Cursor value returned by list_folder or an earlier list_folder_continue call.","maxLength":2000,"title":"Cursor","type":"string"}},"required":["cursor"],"title":"list_folder_continueArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_metadata":{"post":{"operationId":"get_metadata","summary":"Get the metadata of one file or folder: name, path, size, modified times, revision and content hash. Use for \"When was /","description":"Get the metadata of one file or folder: name, path, size, modified times, revision and content hash. Use for \"When was /Documents/report.pdf last modified in my Dropbox\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"path":{"description":"Dropbox path starting with '/', for example '/Documents/report.pdf'; an 'id:...' file id also works.","maxLength":500,"title":"Path","type":"string"},"include_deleted":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to also return metadata for a deleted entry.","title":"Include Deleted"}},"required":["path"],"title":"get_metadataArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/search_files":{"post":{"operationId":"search_files","summary":"Search file and folder names, and file contents, in your Dropbox. Each match gives the entry's name, path and dates and ","description":"Search file and folder names, and file contents, in your Dropbox. Each match gives the entry's name, path and dates and how it matched. When has_more is true, use search_files_continue with the cursor. Use for \"Find files about the 2026 budget in my Dropbox\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"query":{"description":"Search text (up to 1000 characters).","maxLength":1000,"title":"Query","type":"string"},"path":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Only search inside this folder path, for example '/Documents'. Leave out to search everything.","title":"Path"},"max_results":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"How many matches to return (1 to 1000).","title":"Max Results"},"filename_only":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":false,"description":"True to match file names only and not file contents.","title":"Filename Only"}},"required":["query"],"title":"search_filesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/search_files_continue":{"post":{"operationId":"search_files_continue","summary":"Get the next page of search results using the cursor returned by search_files. Use for \"Show more Dropbox search results","description":"Get the next page of search results using the cursor returned by search_files. Use for \"Show more Dropbox search results\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"cursor":{"description":"Cursor value returned by search_files or an earlier search_files_continue call.","maxLength":2000,"title":"Cursor","type":"string"}},"required":["cursor"],"title":"search_files_continueArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_shared_links":{"post":{"operationId":"list_shared_links","summary":"List the shared links you created in Dropbox, or the links for one path, with link URL, name and expiry. Without a path ","description":"List the shared links you created in Dropbox, or the links for one path, with link URL, name and expiry. Without a path the answer can be paged with the cursor. Use for \"Which of my Dropbox files have shared links\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"path":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Only list links for this file or folder path (starting with '/'). Leave out to list all your links.","title":"Path"},"cursor":{"anyOf":[{"maxLength":2000,"type":"string"},{"type":"null"}],"default":null,"description":"Cursor from an earlier call without a path, to get the next page.","title":"Cursor"},"direct_only":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True to exclude links to parent folders of the given path.","title":"Direct Only"}},"title":"list_shared_linksArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_revisions":{"post":{"operationId":"list_revisions","summary":"List the previous versions (revisions) of a file with revision id, size and modified time. Use for \"Show the version his","description":"List the previous versions (revisions) of a file with revision id, size and modified time. Use for \"Show the version history of /Documents/report.pdf in my Dropbox\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"path":{"description":"Dropbox path starting with '/', for example '/Documents/report.pdf'; an 'id:...' file id also works.","maxLength":500,"title":"Path","type":"string"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"How many revisions to return (1 to 100).","title":"Limit"}},"required":["path"],"title":"list_revisionsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_shared_folders":{"post":{"operationId":"list_shared_folders","summary":"List the shared folders you belong to, with name, shared folder id, access level and team-folder flag. Use for \"Which sh","description":"List the shared folders you belong to, with name, shared folder id, access level and team-folder flag. Use for \"Which shared folders do I have in Dropbox\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"limit":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":100,"description":"How many shared folders to return (1 to 1000).","title":"Limit"}},"title":"list_shared_foldersArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}