agentleFS
apideck-librariesapideck-libraries/api-skills/skills/dropbox/SKILL.md

dropbox

Skill4 starsChanged 3 months agoApache-2.0View on GitHub

Dropbox integration via Apideck's File Storage unified API — same methods work across every connector in File Storage, switch by changing `serviceId`. Use when the user wants to read, write, upload, or search files, folders, and drives in Dropbox. Routes through Apideck with serviceId "dropbox".

  • Reads credentials

3 other projects use a version of this.

Adopted by

Most recently taken up by

The file

We split this skill into the rules it gives an agent

5 rules. 0 are common, 4 are distinctive, and 1 is very specific to this project.

  • 0

    Common

    Most of the 3 edited versions we read keep these.

  • 4

    Distinctive

    This author's own choices. Worth a look.

  • 1

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Sandbox: not available — Dropbox has no separate test environment.

    line 40
  2. Distinctive:

    Costs: No published fee for API access.

    line 41
  3. Distinctive:

    Rate limits: No published figures. Limits apply per authorized user, or per team for team apps, and Dropbox returns 429 with a Retry-After …

    line 42
  4. Distinctive:

    Webhooks: No webhooks — Dropbox changes are picked up by polling instead.

    line 44
  5. Very specific:

    When an endpoint isn't covered by the File Storage unified API, use Apideck's Proxy to call Dropbox directly — Apideck injects auth headers …

    line 140

“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Dropbox (via Apideck)

Access Dropbox through Apideck's File Storage unified API — one of 5 File Storage connectors that share the same method surface. Code you write here ports to SharePoint, Box, Google Drive and 1 other File Storage connectors by changing a single serviceId string. Apideck handles auth, pagination, rate limiting, and retries so you don't write per-tenant Dropbox plumbing.

Quick facts

At a glance

  • Implementation difficulty: moderate — Self-Service App Registration + Dropbox Production Approval Required to Connect Users at Scale
  • Vendor partnership required: no (Dropbox App console) — No contract and no partner programme. Registering an app is free and self-service.
  • Apideck-managed credentials: available — Temporary shared credentials for trying the connector; going live needs the app owner's own Dropbox app.
  • Account type required: Any Dropbox account, including a free individual one.
  • Consumer access level: Any Dropbox user can authorize access to their own account; no administrator role is involved.
  • Sandbox: not available — Dropbox has no separate test environment.
  • Costs: No published fee for API access. What an account can do follows its own Dropbox plan.
  • Rate limits: No published figures. Limits apply per authorized user, or per team for team apps, and Dropbox returns 429 with a Retry-After header.
  • Authentication: Authorization Code flow.
  • Webhooks: No webhooks — Dropbox changes are picked up by polling instead.

Important to know:

  • A Dropbox app starts in Development status. Its 50th connected user starts a two-week clock to obtain Production approval, and Dropbox will not usually review before that point, so applying early does not avoid it. Missing it stops new connections; existing ones keep working.
  • An app is created with either App folder or Full Dropbox access, and Dropbox does not allow that choice to be changed afterwards. Correcting it means registering a new app, which every already-connected consumer then has to authorize again.
  • Adding a scope later does not reach consumers who already connected: Dropbox keeps an existing authorization exactly as it was granted and never re-prompts, so each of them has to authorize again before the new permission works.

Facts synced from Apideck's connector metadata API — GET /connector/connectors/dropbox (overview field) is the live, authoritative version.

When to use this skill

Activate this skill when the user explicitly wants to work with Dropbox — for example, "upload a file in Dropbox" or "list a folder in Dropbox". This skill teaches the agent:

  1. Which Apideck unified API covers Dropbox (File Storage)
  2. The correct serviceId to pass on every call (dropbox)
  3. Dropbox-specific auth and coverage caveats

For the full method surface (parameters, pagination, filtering), use your language SDK skill:

  • apideck-node, apideck-python, apideck-dotnet, apideck-java, apideck-go, apideck-php, or apideck-rest

For the raw OpenAPI spec:

Minimal example (TypeScript)

import { Apideck } from "@apideck/unify";

const apideck = new Apideck({
  apiKey: process.env.APIDECK_API_KEY,
  appId: process.env.APIDECK_APP_ID,
  consumerId: "your-consumer-id",
});

// List files in Dropbox
const { data } = await apideck.fileStorage.files.list({
  serviceId: "dropbox",
});

Portable across 5 File Storage connectors

The Apideck File Storage unified API exposes the same methods for every connector in its catalog. Switching from Dropbox to another File Storage connector is a one-string change — no rewrite, no new SDK.

// Today — Dropbox
await apideck.fileStorage.files.list({ serviceId: "dropbox" });

// Tomorrow — same code, different connector
await apideck.fileStorage.files.list({ serviceId: "sharepoint" });
await apideck.fileStorage.files.list({ serviceId: "box" });

This is the compounding advantage of using Apideck over integrating Dropbox directly: code against the unified File Storage API once, gain access to every connector in it. New connectors Apideck adds become available to your app without code changes.

Dropbox via Apideck File Storage

Dropbox is a popular consumer + team file sync product. Apideck covers file, folder, and upload-session operations.

Entity mapping

Dropbox conceptApideck File Storage resource
Filefiles
Folderfolders
Upload sessionupload-sessions
Shared linknot yet exposed — use Proxy

Coverage highlights

  • ✅ List, get, create, update, delete files and folders
  • ✅ Upload via sessions for large files
  • ✅ Download file content
  • ⚠️ Shared links — still being added; use Proxy with /sharing/create_shared_link_with_settings for now
  • ❌ Dropbox Paper, team admin features — use Proxy

Auth

  • Type: OAuth 2.0, managed by Apideck Vault
  • Scopes: Apideck Vault requests file read/write scopes as needed.
  • Team vs. personal: both supported. Team connections include team_member_id context.

Example: upload a small file

const { data } = await apideck.fileStorage.files.create({
  serviceId: "dropbox",
  file: { name: "notes.txt", parent_folder_id: "/" },
});

Escape hatch: Proxy API

When an endpoint isn't covered by the File Storage unified API, use Apideck's Proxy to call Dropbox directly — Apideck injects auth headers and handles token refresh. Set x-apideck-downstream-url to the target endpoint on Dropbox's own API:

curl 'https://unify.apideck.com/proxy' \
  -H "Authorization: Bearer ${APIDECK_API_KEY}" \
  -H "x-apideck-app-id: ${APIDECK_APP_ID}" \
  -H "x-apideck-consumer-id: ${CONSUMER_ID}" \
  -H "x-apideck-service-id: dropbox" \
  -H "x-apideck-downstream-url: <target endpoint on Dropbox>" \
  -H "x-apideck-downstream-method: GET"

See Dropbox's API docs for available endpoints.

Sibling connectors

Other File Storage connectors that share this unified API surface (same method signatures, just change serviceId):

sharepoint, box, google-drive, onedrive.

See also

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.