Colleagues working together around shared files at a desk — collaborative file sharing.

Setup guide

File Transfer

How to Generate a Dropbox Access Token for Migrations

Create a Dropbox App, enable the right scopes, and generate a long-lived access token — for both personal and Dropbox Business accounts.

Univaultport TeamMay 18, 20265 min readEasy · 6 min

Dropbox doesn't use static API keys. Instead, you create a Dropbox App in the App Console, grant it the scopes you need, and generate an access token that Univaultport uses to authenticate. This guide covers the full setup and the one configuration step everyone misses: making the token long-lived.

Step 1 — Open the Dropbox App Console

Go to www.dropbox.com/developers/apps and sign in.

Click Create app.

Step 2 — Configure the new app

  1. Choose an API

    Scoped access (the only option for new apps).
  2. Choose the type of access

    Full Dropbox if you want to migrate any folder; App folder if you want Dropbox to sandbox the integration to its own folder under /Apps/<app-name>/. App folder is more secure but less flexible — pick Full Dropbox for general migrations.
  3. Name the app

    Something like asset-migrator-prod. Must be globally unique across Dropbox — try variations if it's taken.
  4. Create app

    Click the button.

You'll land on the app's Settings tab. Don't generate a token yet — we need to set scopes first or the token won't be usable.

Step 3 — Enable the required scopes

Click the Permissions tab.

Tick these four scopes (they're grouped under "Files and folders" and "Account info"):

☑ files.metadata.read   — list folders and files
☑ files.content.read    — download file contents
☑ files.content.write   — upload, rename, and create folders
☑ account_info.read     — verify the connection on testConnection

Scroll to the bottom and click Submit.

Step 4 — Set the token expiration to "No expiration"

Click back to the Settings tab.

Scroll to the OAuth 2 section. Find the Access token expiration setting.

Access token expiration:  [ No expiration ▼ ]   ← change to this

If you leave the default (Short-lived), the token you generate next will expire in 4 hours and you'll have to re-paste it into Univaultport constantly. No expiration is the right choice for a server-to-server integration.

Step 5 — Generate the access token

Still in Settings, scroll to the Generated access token section.

Click Generate.

A long token string appears (looks like sl.B1234... for short-lived or just a hex string for long-lived). Copy it now — you can re-generate later but the displayed value disappears as soon as you navigate away.

Step 6 — Paste credentials into Univaultport

In the connector wizard:

  1. Access Token

    Paste the token from Step 5 exactly as shown — no quotes, no trimming.
  2. Root Path (optional)

    A folder path to scope this connector to. Example: /Marketing/Assets. Leave blank to access the whole Dropbox. Paths are case-insensitive but should start with /.

Hit Save & test. Univaultport hits /2/users/get_current_account to verify the token — a green check means everything is wired correctly.

Step 7 — (Dropbox Business only) Team folder access

For Dropbox Business accounts, the token's owner sees only their own files plus team folders they've been added to. To migrate a team folder:

  1. As a team admin, add the user behind this token to the team folder with Edit access.
  2. The folder will then appear under that user's / listing in Dropbox.
  3. Set the connector's rootPath to the team folder path.

For team-wide migrations across multiple users' personal folders, you'll need a Dropbox Team admin token with the additional team_data.member scope — that's a separate, more privileged setup. Contact us if you need that.

File size limits

Dropbox imposes these per-file caps:

PlanMax file size
Basic (free)50 GB
Plus50 GB
Business350 GB

Univaultport handles large files with upload sessions automatically — files over 8 MB are uploaded in 4 MB chunks, each acknowledged by the API. There's no special configuration needed.

Common errors

ErrorCauseFix
invalid_access_tokenToken expired or revokedRe-generate; ensure expiration is "No expiration"
missing_scopeA required scope wasn't enabled before token generationEnable scopes in step 3 → Submit → re-generate token
path/not_foundrootPath or asset path doesn't existCheck the path in Dropbox web UI; remember it's case-insensitive but the UI shows the canonical case
too_many_write_operationsHit the rate limit (typically 25-50 writes/sec)Reduce job concurrency; Univaultport auto-retries
insufficient_spaceDropbox account is fullFree up space or upgrade plan

Rotating tokens

Dropbox doesn't auto-rotate long-lived tokens, but you should rotate them yearly anyway. The clean flow:

  1. In the App Console, click Revoke next to the existing token.
  2. Click Generate again to create a new one.
  3. Update Univaultport's connector with the new token.
  4. Run a test migration to confirm.

There's no overlap window — the old token stops working the instant you revoke. Plan a short maintenance window.

Next steps

With Dropbox connected, common patterns are:

  • Dropbox → S3 / GCS for archival of legacy team files to cheaper storage
  • Cloudinary / Drive → Dropbox for client-deliverable folders that internal teams need
  • Dropbox → Dropbox between team accounts during reorgs

Folder hierarchy is preserved across migrations because Dropbox supports real folders (unlike WordPress, which has a flat media library).

Keep going

Related guides